1.JS公式:
对象.__proto__===其构造函数.prototype
2.根公理
Object.prototype是所有对象的(直接或间接原型)
3.函数公理
所有函数都是由Function构造的
JS世界的构造顺序
- 创建根对象#101(toString),根对象没有名字
- 创建函数的原型#208(call/apply),原型__proto__为#101
- 创建数组的原型#404(push/pop),原型__proto__为#101
- 创建Function#342,原型__protp__为#208
- 让Function.prototype等于#208(有名字了)
- 此时发现Function的__protp__和prototype都是#208
- 用Function创建Object(实际没有名字)
- 让Object.prototype等于#101(有名字了)
- 用Function创建Array(实际没有名字)
- 让Array.prototype等于#404(有名字了)
- 创建window对象(不属于JS世界)
- 用window的’Object’和’Array’属性将7和9中的函数命名
- 记住一点,JS创建一个对象时,不会给这个对象名字
图示