今天就跟大家聊聊有關(guān)JavaScript對(duì)象原型鏈原理是怎樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)站空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、遼中網(wǎng)站維護(hù)、網(wǎng)站推廣。一個(gè)js對(duì)象,除了自己設(shè)置的屬性外,還會(huì)自動(dòng)生成proto、class、extensible屬性,其中,proto屬性指向?qū)ο蟮脑汀?/p>
對(duì)象的屬性也有writable、enumerable、configurable、value和get/set的配置方法。
對(duì)象的創(chuàng)建方式有三種:
一、使用字面量直接創(chuàng)建。
二、基于原型鏈創(chuàng)建。
分析上圖,要點(diǎn)如下:
1.可以new運(yùn)算符新建對(duì)象,foo為自定義函數(shù),即是對(duì)象。
2.可以設(shè)置foo.prototype上的屬性。
3.變量z在原型鏈上,為foo.prototype的屬性,并非obj的自有屬性。
4.原型鏈為obj->foo.prototype->Object.prototype->null。
分析上圖,要點(diǎn)如下:
1.若定義與原型鏈上同名的變量,則不會(huì)覆蓋原型鏈上的變量,而是在對(duì)象本身新增副本。
2.delete運(yùn)算符不會(huì)影響原型鏈上已有的變量,只會(huì)刪除對(duì)象自身的屬性。
三、使用Object.create創(chuàng)建。
分析上圖,要點(diǎn)如下:
1.Object.create是基于傳入的參數(shù)產(chǎn)生新的對(duì)象,并且入?yún)?huì)成為其原型鏈上的一部分。
2.Object.create(null)創(chuàng)建的對(duì)象直接指向null。
看完上述內(nèi)容,你們對(duì)JavaScript對(duì)象原型鏈原理是怎樣的有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。