首先声明一点,关于原型链已经有很多文章介绍了,但是绝大部分都是讲的普通对象(自定义对象)在原型链中的理解,本篇文章的重点是关于原型链顶层原理,所以还不知道原型链是什么的小伙伴可以先看一下别人的文章。
好了,现在进入正题,先把“教科书版本”的原型链图放出来
一看这图是不是就想关掉了页面了? 哈哈 O(∩_∩)O 先别急嘛~
还有一个更简单的图
这个是不是清晰多了
从这个简化图可以看出Object.prototype指向的是null (嗯???!!!) 自有了Object.prototype之后自然就有了Object了
而Function.prototype是由Object.prototype构造的,有了Function.prototype之后自然就有了Function了
简单地说,Object.prototype是JS世界中最早出来的,然后由其生出了Object和Function.prototype(再生成了Function),js世界的其他对象、方法(函数) 就由Object和Function生成了。。。
然而,事情并没有那么简单。虽然上面