プロトタイプの継承とは何かを理解していますが、実装については混乱している必要があります。関数コンストラクターのプロトタイプを変更すると、そのコンストラクターのすべてのインスタンスに影響すると思いましたが、そうではありません。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
のプロトタイプでメソッドをa
探すという印象を受けたので、インスタンス化の前後のプロトタイプへの変更は反映されますが、そうではないようです。誰かが私のためにこれを説明できますか?talk()
A
A
a