(1)工厂模式 (2)构造函数模式 (3)原型模式 (4)组合使用构造函数模式和原型模式
(1)工厂模式:缺点:不能知道是哪个对象类型
function createObject(name,age,job){
var o=Object()
o.name=name
o.age=age
o.job=job
return o
}
(2)构造函数模式:缺点:每创建一个实例都要开辟一个内存,共用方法占用内存
function CreateObject(name,age,job){
this.name=name
this.age=age
this.job=job
}
var x=new CreateObject("name","age","job")
x instanceof CreateObject //true
(3)原型模式:缺点:公用的引用属性会被修改
function createObject(){
createObject.prototype.name=“name”
createObject.prototype.age=“age”
createObject.prototype.job=“job”
}
var x=new CreateObject()
var y=new CreateObject()
x.name=y.name//共享属性
(4)组合使用构造函数模式和原型模式(使用最广范):构造函数定义引用型数据和实例属性,原型定义共用属性和方法