原生JS 原型鏈

2021-09-13 04:07:39 字數 1061 閱讀 9578

所有物件都有自己的原型物件,由於原型物件也是物件,所以它也有自己的原型。因此,就會形成乙個「原型鏈」。

所有物件都繼承了object.prototype的屬性。這就是所有物件都有valueoftostring方法的原因,因為這是從object.prototype繼承的。

object.prototype的原型是null。因此,原型鏈的盡頭就是null

原型鏈是 樹形結構,所以學好資料結構,有助於理解原型鏈。

__proto__ 是物件的屬性。

prototype 是函式的屬性。

共有屬性 == 原型

個人理解,如果要給這個「__proto__ 」找乙個對應的中文翻譯,那就是→「找到構造此物件的那個函式的共有屬性」。

注意大小寫,number 和 number 是不同的

所以:

number.__proto__ = function.prototype

object.__proto__ = function.prototype

function.__proto__ == function.prototye

所以:

var number = new number()

number.__proto__ = number.prototype

var object = new object()

object.__proto__ = object.prototype

var function = new function()

function.__proto__ = function.prototype

所有物件都有 tostring 和 valueof 屬性,他們存放在乙個物件裡(公用屬性組成的物件),即 object.prototype 裡。

JS 物件 JS原型 原型鏈

參考學習 js物件 構造器函式 建立物件的函式。物件分為普通物件和函式物件。所有物件都有 proto 屬性 函式物件不止有 proto 屬性,還有prototype屬性 稱為原型物件 1.new function 產生的物件都是函式物件。2.所有函式物件的 proto 都指向function.pro...

關於js 原生原生鏈

可以這麼理解 1 所有的引用型別都有乙個 proto 隱式原型 屬性,屬性值是乙個普通的物件 2 所有的函式都有乙個prototype 顯示原型 屬性,屬性值是乙個普通的物件 3 所有引用型別都有乙個constructor 建構函式 屬性,該屬性 是乙個指標 指向它的建構函式 4 所有引用型別的 p...

js 原型與原型鏈

5條原型規則 1.所有的引用型別 陣列 物件 函式 都具有物件特性,即可自由擴充套件屬性 除了 null 除外 2.所有的引用型別 陣列 物件 函式 都有乙個 proto 隱式原型 屬性,屬性值是乙個普通的物件。3.所有的函式,都有乙個prototype 顯式原型 屬性,屬性值也是乙個普通的物件。4...