js 的原型链和原型

new 的过程和普通的函数返回不同,new 其实是一种继承的方式, 通过new,实例与构造函数通过原型链连接了起来出来,所以实例能访问到构造函数的属性,具体过程如下
- 开辟一个块内存,创建一个空对象
- 执行构造函数,对这个空对象进行构造
- 给这个空对象添加proto属性
__proto__ = User.prototype

new 的过程和普通的函数返回不同,new 其实是一种继承的方式, 通过new,实例与构造函数通过原型链连接了起来出来,所以实例能访问到构造函数的属性,具体过程如下
__proto__ = User.prototype