摘要:原型鏈在瀏覽器內(nèi)部有一個對象,它本身有用以下圖這樣的屬性部分在創(chuàng)建一個對象的時候在執(zhí)行這個代碼的時候,瀏覽器會加上一句代碼在調(diào)用方法時,在直接屬性里找不到這個方法,就會順著其屬性即找這個方法在中,數(shù)組也是一個對象,所以數(shù)組也能調(diào)用的方法,那
原型鏈
在瀏覽器內(nèi)部有一個window對象,它本身有用以下圖這樣的屬性(部分)
在創(chuàng)建一個對象的時候
var obj = {};
在執(zhí)行這個代碼的時候,瀏覽器會加上一句代碼
var obj = { obj.__proto__ = window.Object.prototype; };
在obj調(diào)用toString()方法時,在直接屬性里找不到這個方法,就會順著其屬性__proto__(即window.Object.prototype)找這個方法
在JavaScript中,數(shù)組也是一個對象,所以數(shù)組也能調(diào)用window.Object.prototype的方法,那么究竟是怎么實現(xiàn)這個關系呢?
實現(xiàn)方法:window.Array.prototype也有一個原型(window.Array.prototype.__proto__),這個原型指向的是window.Object.prototype,所以就實現(xiàn)了數(shù)組可以調(diào)用window.Object.prototype的方法。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/104027.html
摘要:有個例外他就是。看左側對象的原型鏈上是否有第一步得到。將各內(nèi)置引用類型的指向。用實例化出,,以及的行為并掛載。實例化內(nèi)置對象以及至此,所有內(nèi)置類型構建完成。最后的最后,你還對是現(xiàn)有還是現(xiàn)有有想法了嗎以上均為個人查閱及實踐總結的觀點。 來個摸底測試,說出以下每個表達式的結果 function F(){}; var o = {}; typeof F; typeof o; typeof F...
摘要:了解中原型以及原型鏈只需要記住以下點即可對象都有屬性,指向構造函數(shù)的構造函數(shù)函數(shù)都有屬性,指向構造函數(shù)的原型對象的內(nèi)置構造函數(shù)可知所有的構造函數(shù)都繼承于甚至包括根構造器及自身。 了解JavaScript中原型以及原型鏈只需要記住以下2點即可 對象都有__proto__屬性,指向構造函數(shù)的prototype 構造函數(shù)函數(shù)都有prototype屬性,指向構造函數(shù)的原型 1、對象的__p...
摘要:因此,請慎重重寫原型繼承說到就不得說繼承,我們通過給上添加屬性和方法,就能使該構造函數(shù)所有的實例對象擁有屬性和方法。 本人博客:【www.xiabingbao.com】 在本文中,我們講解prototype的內(nèi)容主要由:什么是prototype,prototype與函數(shù)之間的關系,prototype與實例對象之間的關系,使用proto實現(xiàn)一個簡單的繼承。 1. prototype的簡要...
摘要:所以繼承了對象的所有方法,當你用時,會先查一下它的構造函數(shù)的原型對象有沒有有方法,沒查到的話繼續(xù)查一下的原型對象有沒有這個方法。 普通函數(shù)與構造函數(shù)的區(qū)別 在命名規(guī)則上,構造函數(shù)一般是首字母大寫,普通函數(shù)遵照小駝峰式命名法。 在函數(shù)調(diào)用的時候: function fn() { } 構造函數(shù):1. new fn( ) 2 .構造函數(shù)內(nèi)部會...
摘要:一旦原型對象被賦予屬性和方法那么由相應的構造函數(shù)創(chuàng)建的實例會繼承上的屬性和方法為什么只有函數(shù)才有屬性規(guī)范就這么定的。其它的構造器的都是一個對象。 哪些對象有原型?所有的對象在默認情況下都有一個原型,因為原型本身也是對象,所以每個原型自身又有一個原型(只有一種例外,默認的對象原型在原型鏈的頂端) prototype屬性prototype是每個函數(shù)對象都具有的屬性,被稱為原型對象,而__p...
摘要:動物還有一個貓對象的構造函數(shù)。這顯然會導致繼承鏈的紊亂明明是用構造函數(shù)生成的,因此我們必須手動糾正,將對象的值改為。這是很重要的一點,請務必注意如果替換了對象,下一步必然是為新的對象加上屬性,并將這個屬性指回原來的構造函數(shù)。 原文鏈接 現(xiàn)在有一個動物對象的構造函數(shù)。 function Animal() { this.species = 動物; } 還有一個貓對象的構造函數(shù)。 fun...
閱讀 1319·2021-11-24 10:24
閱讀 4161·2021-11-22 15:29
閱讀 1091·2019-08-30 15:53
閱讀 2798·2019-08-30 10:54
閱讀 1986·2019-08-29 17:26
閱讀 1290·2019-08-29 17:08
閱讀 610·2019-08-28 17:55
閱讀 1586·2019-08-26 14:01