日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

图解 js 原型链

發布時間:2024/1/1 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图解 js 原型链 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

想要理解好js的繼承,需要理解原型鏈,這是JavaScript的基礎的重點。看了很多資料都是文字描述,原型關系描述的不夠形象,在此基于自己的理解及參考網上的資料寫下這篇文章。這里僅寫下一點淺見,不足之處歡迎拍磚。

原型對象

js對象都有一個prototype對象屬性,我們可以在這個原型對象上,添加方法、屬性。

function Person(name) {this.name = name; } Person.prototype.say = function (params) {console.log('what!'); }

那么,這個Person構造函數,內部的關系是什么呢?看看這個圖。Person === Person.prototype.constructor.

原型指針

js對象都具有一個__proto__屬性,它指向他的原型。
(1)Person的原型是FUNCTION.prototype,也就是Person.__proto__ === FUNCTION.prototype。自然的,FUNCTION.prototype也是一個對象,它指向Object.prototype,也就是FUNCTION.prototype.__proto__ === Object.prototype
(2)Person.prototype 是一個對象,那么他的原型當然是Object了,也就是Person.prototype.__proto__=== Object.prototype。
(3)發現它們最終的指向都是Object.prototype,那這東西指向誰呢?這時候要感悟一下四大皆空,道法自然的一生二、二生三、三生萬物了。他們最終指向null,null派生出所有的東西。
最終得到如下圖所示的原型關系。

原型鏈

通過上述的對象內關系描述,和對象間的關系描述,得到原型鏈示意圖如下。

參考文獻

1.大佬文章寫的真不錯,大家可以看看。

總結

以上是生活随笔為你收集整理的图解 js 原型链的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。