工廠模式
function createPerson(name , age){
var o = new Object();
o.name = name;
o.age = age;
o.sayHi = function(){
console.log('Hi');
}
return o;
}
缺點:工廠模式可以製造大量相似的實例,但卻無法知道對象類型。
構造函數模式
function Person(name , age){
this.name = name;
this.age = age;
this.sayHi = function(){
console.log('Hi');
}
}
缺點: 構造方法每個方法都要在每個實例上重新創建一遍。雖然可以用外部函數的方法避免這個問題,但如此做就會失去構造函數的封裝性。
原型模式