//0工厂模式
function person(name,age){
var obj=new Object();
obj.name=name;
obj.age=age;
obj.getName=function(){
return this.name;
}
return obj;
}
var person=person("顽固",12);
// console.log(person.constructor);
console.log(person.getName());
//1构造函数模式
var Cat2=function () {
this.name = "大毛";
}
Cat2.prototype.makeSound = function(){
alert("this.name");
}
var cat22 = new Cat2();
alert(cat22.name); // 大毛
//2极简模式
var Cat = {
name: "大毛",
makeSound: function(){ alert(this.name); },
};
var cat=Object.create(Cat);
cat.makeSound();
//3
var Cat = {
createNew: function(){
var cat = {};
cat.name = "大毛";
cat.makeSound = function(){ alert("喵喵喵"); };
return cat;
}
};
var cat1 = Cat.createNew();
cat1.makeSound();