【发布时间】:2013-06-18 21:49:24
【问题描述】:
我对 javascript 中的以下原型行为感到困惑。
function A(){
};
A.prototype.toString = function(){
console.log('first');
}
var a = new A(), b;
A.prototype = {
toString:function(){
console.log('second');
}
}
b = new A();
a.toString();
//outputs : first
b.toString();
//outputs : second
与打印“second”的 b.toString 相比,为什么 a.toString 仍然打印“frist”。 谁能解释一下我在这里缺少什么。
【问题讨论】:
-
为什么是
var a = new A(), b? -
@basilikum:哦,我误解了,他只是将
b声明为 var。一切都很好。
标签: javascript prototype-programming function-prototypes prototype-oriented