javascript原型鏈再論

以前研究過javascript得原型鏈,但始終覺得有些繞,而且不清晰。最近看了javascript模式後,總算悟了。其實我是受了傳統語言類的影響。javascript雖然是面向對象的語言,但是它是沒有類的概念的,只是由於它的靈活性,可以模仿強類型的語言,我們卻先入爲主的爲javascript強加上了枷鎖,從一個莫須有的模擬角度去理解原型,當然會覺得似懂非懂。所以,我們要拋開類的概念,僅僅從javascript的基本數據結構來理解。

其實整個原型鏈就是一個鏈表,prototype,__proto__就是一些指針而已,不要給它加上主觀解讀。這裏附上原型鏈圖





二、函數有2個屬性,prototype和__proto__, 對象實例只有1個屬性__proto__, prototype 只是指向一個原型對象, __proto__纔是真正的原型鏈指針,顯示了繼承信息。

三、Function比較特殊,它的2個屬性都是指向同一個原型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章