JavaScriptのプロトタイププロパティを把握しようとしていますが、問題が発生しています。
私は次のようなチュートリアルに従いました。
「したがって、すべてのオブジェクトは自動的にsayHello()メソッド/関数を共有し、protoypeプロパティに割り当てる必要があります」。
言及された元のコードは次のとおりです。
function Pet(name, species, hello)
{
this.name = name;
this.species = species;
this.hello = hello;
this.sayHello = function()
{
alert(this.hello);
}
}
そして、プロトタイププロパティを利用するために修正されたもの:
function Pet(name, species, hello)
{
this.name = name;
this.species = species;
this.hello = hello;
}
Pet.prototype.sayHello = function()
{
alert(this.hello);
}
これらの方法は両方とも同じ結果になるため、ここでの違いは何ですか(私が言えることから)。たとえば、以下のコードは、上記のいずれかとグループ化した場合も同じように機能します。
var rufus = new Pet("Rufus", "cat", "miaow");
rufus.sayHello();
どちらの場合も、これは「miaow」に警告します。
それで、誰かが私に違いを説明してくれますか、そしてなぜあなたはどちらかを選ぶのですか?