使用自定义构造函数创建对象
function Person(name,age){
this.name=name;
this.age=age;
this.play=function(){
console.log("hhh")
}
}
//创建对象-----对对象进行初始化
var per=new Person("小红",17);
per.play()
总结步骤:
1、开辟空间存储对象
2、把this设置为当前的对象
3、设置属性和方法的值
4、把this对象返回
使用工厂模式创建对象
function createObject(name,age){
var obj=new Object();
obj.name=name;
obj.age=age;
obj.play=function(){
console.log("hhhh")
}
return obj
}
var per1=createObject("小红",13)
根据以上就能看出来,它们的共同点都是函数,都可以创建对象,都可以传入参数
不同点是:
工厂模式:
1、函数名是小写
2、有返回值
3、new之后的对象是当前的对象
4、直接调用函数创建对象
自定义构造函数:
1、函数名是大写
2、没有返回值
3、this是当前的对象
4、通过new的方式来创建对象
但平时创建对象的话都会用自定义构造函数来创建