JavaScript設計模式之構造器模式(生成器模式)定義與用法實例分析
本文實例講述了JavaScript設計模式之構造器模式(生成器模式)定義與用法。分享給大家供大家參考,具體如下:
工廠模式雖然解決了重復實例化的問題,但無法識別對象類型。
可以采用構造函數(構造方法)可用來創(chuàng)建特定的對象,可以解決工廠模式無法識別對象實例的問題。也就是說,使用構造函數的方法 ,即解決了重復實例化的問題 ,又解決了對象識別的問題。
構造器模式與工廠模式的不同之處在于:
① 構造函數方法沒有顯示的創(chuàng)建對象 (new Object());
② 直接將屬性和方法賦值給 this 對象;
③ 沒有 return 語句。
構造函數方法的規(guī)范:
① 函數名和實例化構造名相同且大寫 (非強制,但有助于區(qū)分構造函數和普通函數);
② 通過構造函數創(chuàng)建對象,必須使用new運算符。
function Person(name, age) {
this.name = name;
this.age = age;
this.showName = function() {
alert(this.name);
};
}
var person1 = new Person("Alice", 23);
var person2 = new Person("Bruce", 22);
構造器模式的問題:每個方法都要在每個實例上重新創(chuàng)建一遍。
原因:JavaScript中的函數是對象,每定義一個函數,就是實例化了一個Funtion對象,因此,使用構造函數創(chuàng)建的每個實例都有一個同名的方法,但這些方法不是同一個Function的實例,因為不同實例上的同名函數是不相等的。
解決:原型模式,請見://m.fzitv.net/article/144485.htm
更多關于JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。
相關文章
最簡單純JavaScript實現(xiàn)Tab標簽頁切換的方式(推薦)
這篇文章主要介紹了最簡單純JavaScript實現(xiàn)Tab標簽頁切換的方式(推薦)的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07
D3.js中data(), enter() 和 exit()的問題詳解
相信大多數人對D3.js并不陌生。這是一個由紐約時報可視化編輯 Mike Bostock與他斯坦福的教授和同學合作開發(fā)的數據文件處理的JavaScript Library,全稱叫做Data-Driven Documents,在d3.js中data(), enter() 和 exit()比較常見,下面給大家就這方面的知識給大家詳解2015-08-08

