国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript設(shè)計模式之構(gòu)造器模式(生成器模式)定義與用法實例分析

2019-11-19 13:24:40
字體:
供稿:網(wǎng)友

本文實例講述了JavaScript設(shè)計模式之構(gòu)造器模式(生成器模式)定義與用法。分享給大家供大家參考,具體如下:

工廠模式雖然解決了重復(fù)實例化的問題,但無法識別對象類型。

可以采用構(gòu)造函數(shù)(構(gòu)造方法)可用來創(chuàng)建特定的對象,可以解決工廠模式無法識別對象實例的問題。也就是說,使用構(gòu)造函數(shù)的方法 ,即解決了重復(fù)實例化的問題 ,又解決了對象識別的問題。

構(gòu)造器模式與工廠模式的不同之處在于:

① 構(gòu)造函數(shù)方法沒有顯示的創(chuàng)建對象 (new Object())

② 直接將屬性和方法賦值給 this 對象;

③ 沒有 return 語句。

構(gòu)造函數(shù)方法的規(guī)范:

① 函數(shù)名和實例化構(gòu)造名相同且大寫 (非強制,但有助于區(qū)分構(gòu)造函數(shù)和普通函數(shù));

② 通過構(gòu)造函數(shù)創(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);

構(gòu)造器模式的問題:每個方法都要在每個實例上重新創(chuàng)建一遍。

原因:JavaScript中的函數(shù)是對象,每定義一個函數(shù),就是實例化了一個Funtion對象,因此,使用構(gòu)造函數(shù)創(chuàng)建的每個實例都有一個同名的方法,但這些方法不是同一個Function的實例,因為不同實例上的同名函數(shù)是不相等的。

解決:原型模式,請見://www.survivalescaperooms.com/article/144485.htm

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 松潘县| 泸溪县| 南乐县| 江油市| 西吉县| 灵寿县| 广宗县| 洮南市| 汕头市| 宁远县| 随州市| 通州市| 延庆县| 白城市| 红原县| 南部县| 渝北区| 库车县| 通州市| 崇明县| 长宁县| 绵竹市| 习水县| 封丘县| 毕节市| 利辛县| 宜昌市| 体育| 兴城市| 海丰县| 阆中市| 阿拉善右旗| 奈曼旗| 通化县| 台南市| 梓潼县| 房山区| 凤庆县| 金平| 张家口市| 墨竹工卡县|