概念web
定義:模塊化
Object-oriented programming 面向對象程序設計函數
對象是類的實例this
它將對象做爲程序的基本單元,spa
將程序和數據封裝在其中,prototype
以提升軟件的重用性,靈活性和擴展性設計
特性:code
繼承
orm
封裝對象
多態
繼承
基於原型的繼承:
prototype屬性與原型
原型中的prototype指向父類
改變prototype:
修改某項屬性,前面受影響
重寫prototype,前面不受影響
實現繼承的方式:
1
|
Student.prototype =
new
Person();
|
1
2
|
Student.prototype =
Object
.create(Person.prototype);
|
1
2
3
4
5
6
7
|
if
(!
Object
.create) {
Object
.create =
function
(prototype) {
function
F() {}
F.prototype = prototype;
return
new
F();
};
}
|
模擬
模擬重載:
根據參數類型和參數個數分別執行
經過arguments和typeof類型判斷實現
鏈式調用:
核心:return this
模塊化:
函數當即執行返回給變量
1
2
3
4
5
6
7
8
9
|
var
module =
function
() {
var
name =
'guo'
;
function
fun() {
}
return
{
name: name,
fun: fun
};
}();
|