Javascript原型共享值混淆

时间:2014-11-30 13:21:59

标签: javascript prototype

我有以下代码:

function Bar() {
}

Bar.prototype.c = 0;

var foo = new Bar();
foo.c = 20;

var test = new Bar();
console.log(test.c);

我在控制台中获得的值是0.我认为这些对象将共享相同的原型对象,因此输出为20.为什么不是这样?

1 个答案:

答案 0 :(得分:1)

他们共享相同的原型。

但是,当您设置foo.c时,您需要在foo上设置属性,而不是原型。