通俗易懂的原型链与原型

2019-10-18  本文已影响0人  叶小七的真命天子

以一道面试题来阐述:简述Number的原型链结构

储备知识

prototype为函数专有,意为原型
____proto__为对象专有,其链式连接,意为原型链
let a = new Number(2)
实例a即为对象,其拥有proto属性,指向的是其函数的prototype,

回归正题

1、Number作为函数,其有prototype对象,对象拥有proto,指向的是Object的prototype,因为万物皆是对象。

Number.prototype.__proto__===Object.prototype

2、Object.prototype也是一个对象,其拥有proto,但是其指向的是null

Object.prototype.__proto__===null

3、Number做为函数,函数在js中也是对象,所以Number也有proto属性;因为函数都是创建自Function,所以Number.proto指向的是Function.prototype

Number.__proto__ === Function.prototype

4、而Function其prototype的proto指向的是Object.prototype

Function.prototype.__proto__ ===Object.prototype

5、Funtion的特殊性,其proto指向的其自己的prototype

Function.__proto__===Function.prototype

所以有

Function.__proto__.__proto__===Object.prototype
上一篇 下一篇

猜你喜欢

热点阅读