什么是new?
new只是一个语法糖,这个语法糖被设计出来,通过构造函数来创建一个实例对象
new又经历了什么过程?
- new会在内存中创建一个新的空对象({})
- 将空对象原型的内存地址
__proto__指向函数的原型对象 - 利用函数的call方法,改变this指向(window => 新对象),由原指向window的绑定对象this指向现创建出的新对象,在空对象上挂载属性或方法
- new会返回这个新对象
总结:new通过构造函数来创建一个实例对象,优化内存空间,使用__proto__保存共同的属性