雖然Object構(gòu)造函數(shù)和對(duì)象字面量都可以創(chuàng)建單個(gè)對(duì)象,但這個(gè)方式有個(gè)明顯的缺點(diǎn):使用同一個(gè)接口創(chuàng)建很多對(duì)象,會(huì)產(chǎn)生大量重復(fù)代碼健爬。
優(yōu)點(diǎn)
用函數(shù)封裝以特定接口創(chuàng)建對(duì)象的細(xì)節(jié)控乾,使用一個(gè)接口,能同時(shí)創(chuàng)建多個(gè)相似對(duì)象
示例
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);
缺點(diǎn)
雖然解決了創(chuàng)建多個(gè)相似對(duì)象的問題娜遵,但無法解決對(duì)象識(shí)別的問題蜕衡,即無法知道具體對(duì)象的類型