組合使用構(gòu)造函數(shù)模式和原型模式創(chuàng)建對(duì)象

介紹

創(chuàng)建自定義類型的最常見方式,就是組合使用構(gòu)造函數(shù)模式和原型模式。構(gòu)造函數(shù)模式用于定義實(shí)例屬性,而原型模式用于定義方法和共享的屬性。結(jié)果,每個(gè)實(shí)例都會(huì)有自己的一份實(shí)例屬性的副本,但同時(shí)又共享著對(duì)方法的引用,最大限度的節(jié)省了內(nèi)存。另外,這種混成模式還支持向構(gòu)造函數(shù)傳遞參數(shù)。

如何實(shí)現(xiàn)
function Person(name, age, job) {
  this.name = name;
  this.age = age;
  this.job = job;
  this.fruit = ['apple', 'banana', 'orange'];
}
Person.prototype = {
  constructor: Person,
  sayName: function() {
    alert(this.name);
  }
};
var person = new Person('tom', 24, 'teacher');
總結(jié)

組合使用構(gòu)造函數(shù)模式和原型模式創(chuàng)建對(duì)象是目前在ECMAScript中使用最廣泛、認(rèn)同度最高的一種創(chuàng)建自定義類型的方法。可以說(shuō),這是用來(lái)定義引用類型的一種默認(rèn)模式。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容