摘要:可以通過上述路線圖來觀察。注意到也是一個對象,所以也有屬性,這樣就構成了一個原型鏈,最高到達為止。對于函數而言,它的指向。而這個原型對象本身不等于而是它的屬性等于當我們手動改變一個對象的原型時即改變指向,注意。
可以通過上述路線圖來觀察。
函數和對象,都有一個__proto__屬性,指向它們各自的原型prototype。注意到prototype也是一個對象,所以prototype也有__proto__屬性,這樣就構成了一個原型鏈,最高到達Object.prototype.__proto__===null為止。
對于函數而言,它的__proto__指向Function.prototype。因為Object和Function本身也是函數,所以Function.__proto__、Object.__proto__、Cat.__proto__實際上是完全相同的,它們都指向同一個對象:Function.prototype。
因此,如果我們有:Function.prototype.bark=function(){console.log("Wow!")},那么所有函數都可以按照原型鏈訪問到該方法:Cat.bark()。注意不能寫成Function.bark=....,否則需要通過:Cat.constructor.bark()來訪問(Cat通過原型鏈在Function的prototype中找到了constructor,而它指向Function,從而可以引用bark)
由Cat這個自定義函數可知,當函數被編譯創建時它就已經有了一個原型對象prototype。而這個原型對象prototype本身不等于Object.prototype,而是它的__proto__屬性等于:Cat.prototype.__proto__===Object.prototype
當我們手動改變一個對象的原型時(即改變__proto__指向),注意constructor。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/85240.html
摘要:由于一般所有的原型鏈最終都會指向頂端的,所以它們都是的。好了現在了,成了所有對象原型鏈的。 JavaScript里任何東西都是對象,任何一個對象內部都有另一個對象叫__proto__,即原型,它可以包含任何東西讓對象繼承。當然__proto__本身也是一個對象,它自己也有自己的__proto__,這樣一級一級向上,就構成了一個__proto__鏈,即原型鏈。當然原型鏈不會無限向上,它有...
摘要:了解中原型以及原型鏈只需要記住以下點即可對象都有屬性,指向構造函數的構造函數函數都有屬性,指向構造函數的原型對象的內置構造函數可知所有的構造函數都繼承于甚至包括根構造器及自身。 了解JavaScript中原型以及原型鏈只需要記住以下2點即可 對象都有__proto__屬性,指向構造函數的prototype 構造函數函數都有prototype屬性,指向構造函數的原型 1、對象的__p...
摘要:如下所示在規范中,已經正式把屬性添加到規范中也可以通過設置和獲取對象的原型對象對象之間的關系可以用下圖來表示但規范主要介紹了如何利用構造函數去構建原型關系。 前言 在軟件工程中,代碼重用的模式極為重要,因為他們可以顯著地減少軟件開發的成本。在那些主流的基于類的語言(比如Java,C++)中都是通過繼承(extend)來實現代碼復用,同時類繼承引入了一套類型規范。而JavaScript是...
摘要:構造函數和實例都通過屬性指向了原形。代碼示例是構造函數的實例的屬性與的屬性保存的值相等,即他們指向同一個對象原形。 講清楚之javascript原型 標簽: javascript javascript 中原形是一個比較難于理解的概念。javascript 權威指南在原形這一章也花了大量的篇幅進行介紹,也許你已經讀過javascript 權威指南,或者已經是讀第N篇了,然而這篇文章的目...
摘要:我們用一張圖表示構造函數和實例原型之間的關系好了構造函數和實例原型之間的關系我們已經梳理清楚了,那我們怎么表示實例與實例原型,也就是或者和之間的關系呢。 開篇: 在Brendan Eich大神為JavaScript設計面向對象系統的時候,借鑒了Self 和Smalltalk這兩門基于原型的語言,之所以選擇基于原型的面向對象系統,并不是因為時間匆忙,它設計起來相對簡單,而是因為從一開始B...
閱讀 3465·2023-04-26 02:31
閱讀 3628·2021-11-23 09:51
閱讀 1293·2021-11-17 09:33
閱讀 2445·2021-11-16 11:45
閱讀 2577·2021-10-11 11:12
閱讀 2418·2021-09-22 15:22
閱讀 2721·2021-09-04 16:40
閱讀 2581·2021-07-30 15:30