私はちょうどjava script prototype programming
を読んで、小さなコードを試しました。メソッドは、Javaスクリプトのプロトタイプでオーバーライドしません
function Ninja(){
this.swingSword = function(){
return true;
};
}
//override the prev one
Ninja.prototype.swingSword = function(){
return false;
};
var ninja = new Ninja();
console(ninja.swingSword());
が、私は、私の第二の方法は、最初のものを上書きしていないtrue
としてのOPが、残念ながらそれは与えられた出力false
になりますと思いました。どうして?
だけNinja.prototype.swingSword()
JsFiddleこれは.....
を正しいオーバーライドを与えるので、ここでobject(ninja)
を作成する目的は何ですか?
存在する場合、オブジェクトのプロパティはプロトタイプで同じ名前を持つプロパティを上書きします。ポイントは、オブジェクト内にプライベートオブジェクトのプロパティを保持し、作成されたオブジェクト間で共有できるプロパティとメソッドをプロトタイプに移動することです。 – Redu