站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

javascript構(gòu)造方法的缺點(diǎn)是什么

JavaScript構(gòu)造方法的缺點(diǎn)是每次實(shí)例化一個(gè)對(duì)象,都會(huì)把屬性和方法復(fù)制一遍;如果實(shí)例之間有相同的方法,雖然構(gòu)造函數(shù)中定義的屬性和方法是可以訪問(wèn)的,但是每個(gè)實(shí)例都被復(fù)制了,這樣會(huì)造成系統(tǒng)資源的浪費(fèi)。

javascript構(gòu)造方法的缺點(diǎn)是什么

本教程操作環(huán)境:windows10系統(tǒng)、javascript1.8.5版、Dell G3電腦。

javascript構(gòu)造方法的缺點(diǎn)是什么

優(yōu)點(diǎn)就是能夠通過(guò)instanceof識(shí)別對(duì)象,缺點(diǎn)是每次實(shí)例化一個(gè)對(duì)象,都會(huì)把屬性和方法復(fù)制一遍

function CreateObj(uName) {               this.userName = uName;               this.showUserName = function () {               return this.userName;             }         }    var obj1 = new CreateObj('ghostwu'); var obj2 = new CreateObj('衛(wèi)莊');    console.log( obj1.showUserName === obj2.showUserName ); //false

從以上執(zhí)行結(jié)果,可以看出obj1.showUserName和obj.showUserName不是同一個(gè)【在js中,引用類(lèi)型比較的是地址, 函數(shù)是一種引用類(lèi)型】,而是存在兩個(gè)不同

的內(nèi)存地址,因?yàn)槊總€(gè)對(duì)象的屬性是不一樣的,這個(gè)沒(méi)有什么問(wèn)題,但是方法執(zhí)行的都是一樣的代碼,所以沒(méi)有必要復(fù)制,存在多份,浪費(fèi)內(nèi)存.這就是缺點(diǎn)

擴(kuò)展知識(shí)

構(gòu)造函數(shù):如用函數(shù)用來(lái)初始化(使用new運(yùn)算符)一個(gè)新建的對(duì)象,我們稱(chēng)之為構(gòu)造函數(shù)(constructor)

function Person(){     this.name = "zqq";     this.age = 28; } var p = new Person();

當(dāng)以new調(diào)用構(gòu)造函數(shù)(執(zhí)行var p = new Person())時(shí),函數(shù)內(nèi)部會(huì)發(fā)生以下情況:

1.創(chuàng)建一個(gè)空對(duì)象

var p = {};

2.this變量指向?qū)ο髉

Person.call(p)

3.p繼承了構(gòu)造函數(shù)Person()的原型

p.__proto__ = Person.prototype

4.執(zhí)行構(gòu)造函數(shù)Person()內(nèi)的代碼

構(gòu)造函數(shù)和普通函數(shù)的區(qū)別:

1.構(gòu)造函數(shù)使用new關(guān)鍵字調(diào)用;普通函數(shù)不用new關(guān)鍵字調(diào)用;

var p = new Person(); var p = Person();

2.構(gòu)造函數(shù)內(nèi)部可以使用this關(guān)鍵字;普通函數(shù)內(nèi)部不建議使用this,因?yàn)檫@時(shí)候this指向的是window全局對(duì)象,這樣無(wú)意間就會(huì)為window添加了一些全局變量或函數(shù)

在構(gòu)造函數(shù)內(nèi)部,this指向的是構(gòu)造出來(lái)的新對(duì)象

在普通函數(shù)內(nèi)部,this指向的是window全局對(duì)象

3.構(gòu)造函數(shù)默認(rèn)不用return返回值;普通函數(shù)一般都有return返回值

構(gòu)造函數(shù)會(huì)默認(rèn)返回this,也就是新的實(shí)例對(duì)象

普通函數(shù)如果沒(méi)有return值的話,返回undefined

如果使用了return,那返回值會(huì)根據(jù)return值的類(lèi)型而有所不同

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
久久国产精品久久久久久| 久久99精品九九九久久婷婷| 模特私拍国产精品久久| 日产精品久久久久久久| 国产精品视频二区不卡| 国内精品久久久久久久久| 亚洲日韩国产精品乱| 日韩福利在线视频| 日韩精品国产自在久久现线拍| 国产麻传媒精品国产AV| 精品国产一区二区二三区在线观看| 色婷婷精品大在线视频| 亚洲精品一二三区| 国产高清国产精品国产专区| 2021年国产精品久久| 55夜色66夜色国产精品| 久久99精品久久久久子伦| 91麻豆精品在线观看| 97久久人人超碰国产精品| 精品亚洲A∨无码一区二区三区| 久久精品午夜一区二区福利| 99RE久久精品国产| 久久99精品久久久久久动态图| 91精品天美精东蜜桃传媒入口| 亚洲综合一区二区精品久久| 亚洲国产精品yw在线观看| 国产成人精品视频播放| 国产成人精品久久免费动漫| 国产精品一级香蕉一区| 国产精品国产福利国产秒拍| 香港三级精品三级在线专区| 精品人妻无码一区二区三区蜜桃一 | 五月天婷婷精品视频| 久久久精品国产免大香伊| 亚洲精品一区二区三区四区乱码| 亚洲精品美女久久久久9999| 精品国内在视频线2019| 2020国产成人久久精品| 精品久久久无码人妻中文字幕豆芽 | 2020精品国产自在现线看| 4444亚洲国产成人精品|