雖然Object構造函數和對象字面量都可以創建單個對象,但這個方式有個明顯的缺點:使用同一個接口創建很多對象,會產生大量重復代碼。
優點
用函數封裝以特定接口創建對象的細節,使用一個接口,能同時創建多個相似對象
示例
var createPerson = function(name, age) {
var obj = new Object();
obj.name = name;
obj.age = age;
obj.sayName = function() {
return this.name;
};
return obj;
};
var person1 = createPerson('duke', 22);
var person2 = createPerson('dome', 24);
var person3 = new createPerson('dome3', 24);
console.log('person1=>', person1);
console.log('person2=>', person2);
console.log('person3=>', person3);
缺點
雖然解決了創建多個相似對象的問題,但無法解決對象識別的問題,即無法知道具體對象的類型