工厂模式
function person(name){
var a=new Object();
a.name=name;
a.say=function(){
console.log(this.name);
}
return a;
}
var p1=person('lie');
console.log(p1);
构造模式
function person2(name){
this.name=name;
this.say=function(){
console.log(this.name);
}
}
console.log(new person2('wang'));
原型模式
function person3(){}
person3.prototype.name='bule';
person3.prototype.say=function(){
console.log(this.name);
}D
console.log(new person3());
工厂模式的缺点是:创建的对象无法判断类型
使用原型模式构造时,可直接prototype属性向原型对象中添加方法和属性,全局为此对象添加属性与方法,并可在对象的__proto__中可访问到,但是原型模式中如修改一个对象的属性,因为作用域为全局的,所以会影响整个由此原型模式构造出的所有对象,因此很少单独使用原型模式,一般都是原型模