js 原型 原型鏈理解

2022-07-06 18:36:09 字數 1270 閱讀 7872

執行發現如下

自定義乙個函式,函式包含兩個關鍵資料 prototype,__proto__

1、原型 prototype:

person具有prototype屬性:包含我們定義的屬性name,age以及constructor,

並且constructor指向我們的person函式,可以理解為prototype就是我們原型物件,

下面我們會用到這句話。

2、原型鏈 __proto__

person 中的 __proto__ 是乙個原始的 function 物件,

在 function 物件中,又看到了 __proto__ 這個屬性,這時候它的值是原始的 object 物件,

在 object 物件中又再次發現了 __proto__ 屬性,這時候 __proto__ 等於 null,

通過__proto__這個屬性組成的鏈,就成為原型鏈。

3、兩者的關係

我們在例項化person的時候,new person()的時候通過prototype和__proto__進行關聯繫結屬性

可以看很清楚看得出 我們new 出來的例項p 的p.__proto__就是我們前面person函式的prototype,

例項p的原型鏈步驟就是 p.__proto__ => .__proto__ => object => null

例項物件步驟:

理解js原型和原型鏈

一.普通物件和函式物件 js中,萬物皆物件,大體分為兩種 普通物件,函式物件。凡是通過new function 建立的都是函式物件,其他的則為普通物件。下面舉例說明 function fun1 function var fun2 function function var fun3 new func...

js原型鏈理解

關於原型鏈的問題也是領悟了很久,有時候突然覺得什麼都懂了,但下乙個問題出現令人一臉蒙比,好像又什麼都不懂,這是最近的一點經驗,記下來方便以後複習。先貼上最經典的原型煉圖,說實話,這圖是真的很精髓了 首先我們要知道這句話 js中所有的東西 當然都是物件 都有 proto 所有的函式除了有 proto ...

js的原型和原型鏈理解

以以下 為例 let arr 1,3,2,0 arr.reverse arr.tostring 我們使用console.dir arr 命令 發現arr.proto 屬性上有reverse 和tostring 方法了 用console.dir arr 發現,arr不僅有我們定義的四個值,其proto...