我了解原型继承的全部意义,但我必须对实现感到困惑。我认为修改函数构造函数的原型会影响该构造函数的所有实例,但事实并非如此。JS 是如何从一个对象到它的原型进行方法查找的呢?
这是一个例子
function A(name){
this.name = name;
}
a = new A("brad");
A.prototype = {
talk: function(){
return "hello " + this.name;
}
}
a.talk() // doesn't work
b = new A("john");
b.talk() // works
我的印象是会在's 的原型中a
寻找方法,因此在实例化之前或之后对 ' 原型的任何修改都会反映出来,但情况似乎并非如此。有人可以为我解释一下吗?talk()
A
A
a