javascript增强原型和链

时间:2012-12-29 12:43:58

标签: javascript prototype chain function-object

我不明白为什么如果我将属性或函数添加到现有函数对象的原型中,那么属性或函数不会被识别为属于该对象。

示例:

var a = function() {};
a.prototype.c = function() {/* code */};
a.c();           //c is not a function

谢谢

1 个答案:

答案 0 :(得分:4)

这是因为你将它添加到该函数的原型中,而不是它自己。 但是如果你从中创建一个新对象,你将拥有c

var a = function() {};
a.prototype.c = function() {/* code */};

var b = new a;
b.c(); // works as expected