自定义构造函数创建对象的方式
function Person() {
this.name=name;
this.age=age;
this.sex=sex;
this.play=function(){
console.log("喜欢唱歌");
}
};
//创建对象----->实例化一个对象的同时对属性进行初始化
var per=new Person("小红",20);
工厂模式创建对象
function createObject(name,age){
var obj=new Object();
this.name=name;
this.age=age;
this.sex=sex;
this.sayHi=function(){
console.log("您好");
}
return obj;
};
区别:
共同点: 都是函数,都可以创建对象,都可以传入参数
不同点:
工厂模式:函数名是小写、有new、有返回值、new之后的对象是当前的对象、直接调用函数就可以创建对象
自定义构造函数:函数名是大写、没有new、没有返回值、this是当前对象、通过new的方式来创建对象