1. 工廠方式
工廠方式
- 面向對象中的封裝函數
- 改成與系統對象類似寫法
- 首字母大寫
- New 關鍵字提取
- This指向為新建立的對象
- 構造函數
- 用來建立對象的函數,叫做構造函數
- 存在的問題
- 對象的引用
- 浪費記憶體
//工廠方式 : 封裝函數
function createPerson(name){
//1.原料
var obj = new Object();
//2.加工
obj.name = name;
obj.showName = function(){
alert( this.name );
};
//3.出場
return obj;
}
var p1 = createPerson('小明');
p1.showName();
var p2 = createPerson('小強');
p2.showName();
2. 構造函數
當new去調用一個函數 : 這個時候函數中的this就是建立出來的對象,而且函數的的傳回值直接就是this啦(隐式傳回)
new後面調用的函數 : 叫做構造函數
通過系統對象模仿自己封裝的對象
var arr = new Array();
var date = new Date();
function CreatePerson(name){
this.name = name;
this.showName = function(){
alert( this.name );
};
}
var p1 = new CreatePerson('小明');
//p1.showName();
var p2 = new CreatePerson('小強');
//p2.showName();
alert( p1.showName == p2.showName ); //false