Function、Object、Prototype 之间的关系解析

时间:2022-05-29 20:13:50

前提:js中所有的内置对象都是Function 的实例。 

  例如:Array\String\Number... 等

原理剖析:

Function、Object、Prototype 之间的关系解析

  对象属性搜索的原理就是按照对象的 __proto__ 属性进行搜索,直到__proto__=null 停止搜索

 > Array.__proto__
< function () {} >var arr =[]
>arr.__proto__==Array.prototype
<true >Function.prototype
<function () {} >Function.__proto__
<function () {} >Function.__proto__.__proto__
<Object {} >Function.__proto__.__proto__==Object.prototype
<true