在函数实例中使用原型添加值
这个问题在这里已经有了答案:
它应该是构造函数的原型,而不是该函数产生的对象:
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