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