工厂模式
function createObject(name,age){
var obj=new Object();
obj.name=name;
obj.age=age;
obj.sayHi=function(){
console.log("hello");
};
return obj;
}
var per1=createObject("zhangsan",20);
自定义构造函数
function Person(name,age){
this.name=name;
this.age=age;
this.sayHi=function(){
console.log("hi");
};
}
var per2=new Person("lisi",10);
区别:
工厂模式:函数名首字母是小写;有new;有返回值;new之后的对象是当前的对象;直接调用函数可以创建对象
自定义构造函数:函数明首字母是大写;没有new;没有返回值;this是当前的对象;通过new的方式创建对象