JS中的原型链

最近在写SDK的时候大量会接触到原型链相关的一些技术,但是总感觉自己在工作中写代码的过程稍有欠缺,由此想写下一篇博客来详细的记录关于原型链的学习。

首先来认识一下什么是原型链,JS中我们可以使用 var a = new Object(); 通过构造函数的方式来创建一个名为 a 的对象。

其中 a 是在当前作用域下的一个对象,其继承自全局的 Object 对象的属性, 在 a 中有一个名为 prototype 的属性指向构造函数的指针。 所以 a 在没有设置的情况下就能使用 Object.toString() 等挂载在 Object 上的方法,当 a 赋值给新变量的时候,这个变量的 prototype 指向的是a,这样层层递进,就构成了实例与原型的链条。这就是原型链:)

hi you can see me