javascriptオブジェクトの作成では、コンストラクタ関数またはプロトタイプのいずれかにメソッド宣言を置くことができます。たとえば、NameプロパティとBarkメソッドを持つDogクラスが必要です。私は、コンストラクタ関数に樹皮メソッドの宣言を置くことができる。コンストラクタ関数でのjavascriptオブジェクトメソッドの宣言とプロトタイプ
var Dog = function(name) {
this.Name = name;
this.Bark = function() {
alert(this.Name + " bark");
};
}
またはIプロトタイプオブジェクトのメソッドとして置くことができる:
var Dog = function(name) {
this.Name = name;
}
Dog.prototype.Bark = function() {
alert(this.Name + " bark");
};
Iタイプ犬のオブジェクトをインスタンス化するとき、両方のアプローチはうまく動作するように見える:
var dog = new Dog("Fido");
dog.Bark(); //Both approaches show "Fido bark"
は、私は他の上にこれらのいずれかの方法を好むでしょうか?どちらか一方を使用することに利点がありますか?背後では、これらの2つのアプローチはまったく同じことをすることになりますか?ほとんどの人がどのアプローチを好む傾向がありますか?
ありがとうございました。
... [「プロトタイプ」と「this」のJavascriptでの使用」(http://stackoverflow.com/q/310870/1048572)et al – Bergi