JavaScript對(duì)象原型鏈原理詳解
這篇文章主要介紹了JavaScript對(duì)象原型鏈原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
一個(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。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)倒計(jì)時(shí)器
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)倒計(jì)時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
JavaScript的事件監(jiān)聽(tīng)你了解嗎
這篇文章主要為大家詳細(xì)介紹了JavaScript的事件監(jiān)聽(tīng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03
鼠標(biāo)選擇動(dòng)態(tài)改變網(wǎng)頁(yè)背景顏色的JS代碼
這篇文章主要介紹了鼠標(biāo)選擇動(dòng)態(tài)改變網(wǎng)頁(yè)背景顏色的JS代碼,有需要的朋友可以參考一下2013-12-12
如何在vscode中使用Typescript并運(yùn)行詳解
在VSCode中編寫(xiě)的TypeScript代碼不能直接運(yùn)行,需要先用tsc編譯為JavaScript,然后才能運(yùn)行,下面這篇文章主要給大家介紹了關(guān)于如何在vscode中使用Typescript并運(yùn)行的相關(guān)資料,需要的朋友可以參考下2023-05-05
JSON中雙引號(hào)的輪回使用過(guò)程中一定要小心
如果JSON對(duì)象中有屬性是包含雙引號(hào)當(dāng)轉(zhuǎn)換成字符串形式,將自動(dòng)加上反斜線,詳細(xì)請(qǐng)祥看本文2014-03-03
APP中javascript+css3實(shí)現(xiàn)下拉刷新效果
本文給大家分享的是如何在APP中使用javascript結(jié)合CSS3實(shí)現(xiàn)下拉刷新特效的代碼,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2016-01-01

