JavaScript對象原型鏈原理解析
這篇文章主要介紹了JavaScript對象原型鏈原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
一個js對象,除了自己設(shè)置的屬性外,還會自動生成proto、class、extensible屬性,其中,proto屬性指向?qū)ο蟮脑汀?/p>
對象的屬性也有writable、enumerable、configurable、value和get/set的配置方法。
對象的創(chuàng)建方式有三種:
一、使用字面量直接創(chuàng)建。
二、基于原型鏈創(chuàng)建。
分析上圖,要點如下:
1.可以new運算符新建對象,foo為自定義函數(shù),即是對象。
2.可以設(shè)置foo.prototype上的屬性。
3.變量z在原型鏈上,為foo.prototype的屬性,并非obj的自有屬性。
4.原型鏈為obj->foo.prototype->Object.prototype->null。
分析上圖,要點如下:
1.若定義與原型鏈上同名的變量,則不會覆蓋原型鏈上的變量,而是在對象本身新增副本。
2.delete運算符不會影響原型鏈上已有的變量,只會刪除對象自身的屬性。
三、使用Object.create創(chuàng)建。
分析上圖,要點如下:
1.Object.create是基于傳入的參數(shù)產(chǎn)生新的對象,并且入?yún)蔀槠湓玩溕系囊徊糠帧?/p>
2.Object.create(null)創(chuàng)建的對象直接指向null。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript基于libgif.js實現(xiàn)控制gif動畫幀
這篇文章主要為大家詳細介紹了JavaScript如何利用libgif.js插件控制gif動畫幀,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02JS 控制小數(shù)位數(shù)的實現(xiàn)代碼
上網(wǎng)查一查的確存在這種Bug,除了位數(shù)上控制之外也沒什么也好的方法(希望高手能提出其它思路)。2011-08-08layer彈出的iframe層在執(zhí)行完畢后關(guān)閉當前彈出層的方法
今天小編就為大家分享一篇layer彈出的iframe層在執(zhí)行完畢后關(guān)閉當前彈出層的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08