在函数实例中使用原型添加值

这个问题在这里已经有了答案:

  • JavaScript .prototype如何工作? 21个答案

  • 它应该是构造函数的原型,而不是该函数产生的对象:

    a.prototype.three = 3;
    

    您不能使用prototype键访问对象的原型,因为原型引用不会像这样暴露。 尽管你可以使用__proto__属性来做到这点,但是这已经被弃用了。 如果您需要获取对象的原型,则可以使用Object.getPrototypeOf方法:

    Object.getPrototypeOf(j) === a.prototype; // true
    

    这里有点混乱,因为“原型”这个词意味着两件事。 函数原型是一个对象,当构造函数被使用时构造新对象时使用该对象。 对象原型是对存储继承方法的对象的引用。


    J的原型是不确定的,因为你不能直接访问它,所以你不能直接将属性3设置为j的原型。

    这就是为什么你可以添加属性到a' prorotype,但不是j'的原型,你可以试试

    j.three=3; 
    

    a.prototype.three = 3;

    小提琴http://jsfiddle.net/s4g2n453/4/

    链接地址: http://www.djcxy.com/p/30083.html

    上一篇: Add value using prototype in function instance

    下一篇: Function object prototype