var sayName = function () {console.log(this.name);
}
function Person(name, age, gender) {// return 'hello'return {name: name,age: age,gender: gender,sayName:sayName}
}
var p1 = Person('張三', 12, '男');
var p2 = Person('李四', 18, '女');
console.log(p1, p2, '工廠模式創(chuàng)建的對(duì)象');
p1.sayName();
p2.sayName();
console.log(p1.sayName===p2.sayName);
2.構(gòu)造函數(shù)模式 ? ? ? ? 可以區(qū)分種類。但是方法還是冗余。
var sayName=function(){console.log(this.name);
}
function Person(name,age,gender){this.name=name;this.age=age;this.gender=gender;
};
var p1=new Person('王五',17,'男');
var p2=new Person('趙六',18,'女');
console.log(p1,p2);
p1.sayName();
p2.sayName();
console.log(p1.sayName===p2.sayName); function Animal(name,age,gender){this.name=name;this.age=age;this.gender=gender;};var n1=new Animal('王五',17,'男');var n2=new Animal('趙六',18,'女');console.log(n1,n2);
function Person(){};
Person.prototype={constructor:Person,name:"鬼腳七",age:18,gender:'男',firends:[],sayName:function(){console.log(this.name);}
};
var p1=new Person();
var p2=new Person();
p1.firends.push('terry')
console.log(p1.firends,p2.firends); //p1 p2都有terry
function Person(name,age,gender){this.name=name;this.age=age;this.gender=gender;this.firends=[];
}
Person.prototype={constructor:Person,sayName:function(){console.log(this.name);}
}
var p1=new Person('tom',19,'男');
var p2=new Person('lerry',20,'女');
console.log(p1,p2);
p1.firends.push('terry');
console.log(p1,p2);