new
new 关键字,是我们在开发过程中经常会使用到的一个关键字,用来配合构造函数,创建一个新的对象,用是经常用,但他是如何实现的呢。
new 的过程发生了什么
1.构建新对象,生成对应原型链关系。
2.添加方法属性。
3.return 新对象。
好,这里又引出了另一个概念, 原型链,什么是原型链。
顾名思义,一条可供追溯原型的链子。
他们之间有三种“关系”,constructor, _proto_ ,prototype。
实例的 constructor(构造函数) 指向 它的构造函数。
实例的 _proto_ 指向它的构造函数的 prototype(原型)。
构造函数的 prototype(原型) 的 _proto_ 指向 Function 的 prototype(原型)。
故而,_proto_ _proto_ 即向上层搜寻原型。
最终关系见 图 1.2