关于Javacript“原型”和“prototype属性”两者需要澄清的几点

  • 每个对象都有一个原型,但不是所有对象都有prototype属性。实际上只有函数对象才有这个属性。
    var a = function(){};
    var b=[1,2,3];
    a.prototype;
    //function(){}
    b.prototype;//undefined

  • 构造函数本身也是一个对象,它也有自己的原型,但它的原型不是prototype属性所指的对象。函数作为一个对象,其构造函数是Function,因此,构造函数的原型对象实际上是Function.prototype所指的对象。

  • 总结:一个对象的原型就是它的构造函数的prototype属性的值。——《javascript权威指南》第5版
posted @ 2011-04-13 17:15 KennyMa 阅读(156) 评论(0) 编辑 收藏