- 每个对象都有一个原型,但不是所有对象都有prototype属性。实际上只有函数对象才有这个属性。
var a = function(){};
var b=[1,2,3];
a.prototype;//function(){}
b.prototype;//undefined - 构造函数本身也是一个对象,它也有自己的原型。
- 原型不是prototype属性所指的对象。
- 构造函数作为一个对象,其构造函数是Function,因此,该构造函数的原型对象实际上是Function.prototype所指的对象。
- 总结:一个对象的原型就是它的构造函数的prototype属性的值。——《javascript权威指南》第5版