私は最近、言語を完全に理解するために JavaScript を深く調べており、答えが見つからないように見えるいくつかのしつこい質問があります (具体的にはオブジェクト指向プログラミングを扱っています)。
次のコードを想定します。
function TestObject()
{
this.fA = function()
{
// do stuff
}
this.fB = testB;
function testB()
{
// do stuff
}
}
TestObject.prototype = {
fC : function
{
// do stuff
}
}
fA
関数とはどう違いfB
ますか?それらは範囲と潜在的な能力においてまったく同じように動作しますか? それは単なる慣習ですか、それとも技術的に優れているか適切な方法ですか?
オブジェクトのインスタンスが一度に 1 つしか存在しない場合、プロトタイプに関数を追加するfC
価値があるでしょうか? そうすることに何かメリットはありますか?プロトタイプは、オブジェクトまたは継承の多くのインスタンスを処理する場合にのみ本当に役立ちますか?
TestObject.prototype.functionName = function(){}
そして、私が上記の方法で、または毎回呼び出す方法でプロトタイプにメソッドを追加する技術的に「適切な」方法は何ですか?
私は自分の JavaScript コードをできるだけクリーンで読みやすいものに保つことを目指していますが、この言語におけるオブジェクトの適切な規則についても非常に興味があります。私は Java と PHP のバックグラウンドを持っていますが、JavaScript がどのように機能するかについては何も仮定しないようにしています。