编辑代码

//  工厂模式

function Person(){
    var o = new Object();
    o.name = "name"
    return o;
}

var p2= Person();
var p1 = Person();
p1.name="p1:zhou";
console.log(p1.name);
console.log(p2.name);




//  构造函数模式
function Animal(){
    this.name = "animal";
    this.sound = function(){
        console.log(this.name);
    }
}
var b1= new Animal();
var a1 = new Animal();
b1.name="zhang";
a1.sound();
b1.sound();


// 原型模式
function Pe(){}
Pe.prototype.name = "p_Name";
Pe.prototype.sayName = function(){
    console.log(this.name);
}
var w = new Pe();
var p = new Pe();
p.name="xxxl"
p.sayName();
w.sayName();


// 组合构造和原型
function A(){
    this.name = "A"
}
A.prototype.sayName = function(){
    console.log(this.name);
}
var a = new A();
a.sayName();