new的过程:
1.新生成一个对象obj
2.链接到原型
3.绑定this
4.返回obj
对于实例对象来说,都是通过 new 产生的,无论是 function Foo() 还是 let a = { b : 1 }
总结
Object是所有对象的爸爸,所有对象都可以通过__proto__找到它Function是所有函数的爸爸,所有函数都可以通过__proto__找到它Function.prototype和Object.prototype是两个特殊的对象,他们由引擎来创建- 除了以上两个特殊对象,其他对象都是通过构造器
new出来的 - 函数的
prototype是一个对象,也就是原型 - 对象的
__proto__指向原型,__proto__将对象和原型连接起来组成了原型链