Javascript的原型链图
?
?
90%的前端或者js程序員或者老師們對Javascript懂得不比這個多?
?
給手機看的
 
但是這個圖里的所有褐色單向箭頭鏈就是Javascript的原型鏈(顏色標注對理解js原型鏈很關鍵)
這圖中的各個__proto__ constructor .prototype 都是內部對象 這樣畫是為了簡潔
舉個例子 如果考慮__proto__ 作為內部對象 上圖變為
 
原型鏈就是
 
constructor 和 prototype如果作為內部對象 放到相應的位置 圖就變大麻團了 保證暈倒什么也記不住 
不服請看 這是實際的Javascript原型鏈圖 嘿嘿
原型鏈大部分時候是不可見的(__proto__在firefox nodejs中可見)那么圖退化為
 
上幾圖三特點
1.所有對象都在原型鏈上
2.除了null 每個對象都有且唯一的__proto__原型對象
3.除了null, Object.prototype,其它對象的原型對象雖然不可通過.__proto__操作訪問 但是通過原型鏈上某個構造器(函數)的prototype屬性都可以訪問到
?
js coder大多時候要面對的是
優雅了吧 :-()
所有javascript重度編碼都是操作上面這個圖的元素 但是你心里至少要有下圖
如果連這圖都嫌棄不好記 最簡單的鐵三角 javascript 99%的幻化都由此來
陰影的部分不要動(當然你愿意發大招搞出個Kavascript也是個人自由 但那不是Javascript) 會破壞原型鏈的結構和密封性 js編程對原型鏈的拆改都是針對左下角的非陰影部分
考慮到__proto__ prototype constructor都是內部對象 
所以實際的關系圖應該是
 
轉載于:https://www.cnblogs.com/fakeCoder/p/5952306.html
總結
以上是生活随笔為你收集整理的Javascript的原型链图的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: c# SQL CLR 之一
 - 下一篇: 一个发布app测试版本的网站