function Foo() {}; let f1 = new Foo();
__proto__ 一层一层的找。
1.f1.constructor == Foo
2.f1.__proto__ == Foo.prototype => Foo.prototype.__proto__ == Object.prototype
3.Foo.prototype.constructor == Foo
4.Foo.__proto__ == Function.prototype
5.Function.__proto__ == Function.prototype
6.Object.__proto__ == Function.prototype
7.Function.prototype.__proto__ == Object.prototype
😁😁重要关联关系
1.实例的__proto__ 和 构造函数的prototype 指向同一个原型对象。
2.通过构造函数constructor可以一直找它的形成过程,一直 => Function,
3.通过prototype可以一直向上寻找父原型,一直 => Object.prototype