欧美国产另类久热|951超碰伊人久久|伊人影视久久久久|色婷婷亚洲小电影|色东京热69XX|婷婷玖玖深爱网|加勒比东京热网站|无码A级毛片在线观看|一级a毛一级a看|中文字幕人妻欧美

JavaScript中的prototype 構(gòu)造函數(shù)的原型對(duì)象
來(lái)源:易賢網(wǎng) 閱讀:1645 次 日期:2015-04-27 10:54:27
溫馨提示:易賢網(wǎng)小編為您整理了“JavaScript中的prototype 構(gòu)造函數(shù)的原型對(duì)象”,方便廣大網(wǎng)友查閱!

JavaScript中的prototype,即構(gòu)造函數(shù)的原型對(duì)象,我想對(duì)于使用過(guò)JavaScript oo模式編程的你來(lái)說(shuō),肯定都能很好的利用prototype的特性來(lái)編寫(xiě)出優(yōu)美的面向?qū)ο蟮拇a,因?yàn)樗拇_很好用。但是你真的足夠了解prototype嗎?

首先我覺(jué)得,在分析prototype之前,應(yīng)該先了解為什么要使用prototype來(lái)實(shí)現(xiàn)繼承,而并不是把所有屬性寫(xiě)到構(gòu)造函數(shù)內(nèi)部,那么這樣做優(yōu)勢(shì)體現(xiàn)在哪里呢,如果你跟我有一樣的困惑,請(qǐng)看如下兩段代碼:

[js]代碼:

/*代碼1*/

var F = function(){

this.a = 1;

this.b = 2;

this.c = 3;

this.d = 4;

this.e = 5;

this.f = 6;

};

for(var i=0;i<100000;i++){

eval('var f' + i + '= new F;');

}

/*代碼2*/

var F = function(){};

F.prototype = {

a: 1,

b: 2,

c: 3,

d: 4,

e: 5,

f: 6

};

for(var i=0;i<100000;i++){

eval('var f' + i + '= new F;');

}

在瀏覽器中分別執(zhí)行兩段代碼,觀察瀏覽器的內(nèi)存占用情況(數(shù)據(jù)量比較大,等待腳本執(zhí)行完畢,瀏覽器穩(wěn)定后的數(shù)據(jù)),如下圖:

名單

從圖片中的數(shù)據(jù)不難看出,在Firefox中,把所有屬性全部寫(xiě)到構(gòu)造的原型對(duì)象中,生成100000個(gè)實(shí)例對(duì)象時(shí),占用內(nèi)存會(huì)比把所有屬性全部寫(xiě)到構(gòu)造內(nèi)部少15M,而在IE中,這個(gè)差距竟然達(dá)到97M,匪夷所思啊,神奇的IE。這也就是為什么寫(xiě)oo代碼時(shí),總是喜歡把類(lèi)的一些屬性和方法寫(xiě)到它的原型對(duì)象中,在達(dá)到同樣目的的前提下節(jié)省內(nèi)存的使用率,我想沒(méi)有哪一個(gè)人愿意拒絕這樣的做法。

更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

更多信息請(qǐng)查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:JavaScript中的prototype 構(gòu)造函數(shù)的原型對(duì)象
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn)

版權(quán)所有:易賢網(wǎng)