重要公式:

1. var 对象 = new 函数()
2. 对象.__proto__ === 函数.prototype
  • prototype:每个函数都会有这个属性,普通对象是没有这个属性的(这里为什么说普通对象呢,因为JS里面,一切可以看成是对象,所以这里的普通对象不包括函数对象)。
  • __proto__:每个对象都有这个属性,因为函数也是对象,所以函数也有这个属性。

例子:


Number函数构造一个n1对象,n1对象的.__proto__等于它的构造函数的.prototype
Number.prototype赋值给obj,obj这个对象的构造函数是Object()


Number 是一个函数对象,它是Function对象的一个实例;
Function的构造函数是Function
Function.prototypeFunction的原型对象;
Object已经到了原型链的顶端。