javascriptクラスの機能を作っているうちに、私はthis.
をたくさん使っています。しかし、それを使用している間、それは代わりにvar
を使用することに違いが生じたかどうか疑問に思う。 いつthis.x.xs var xを使うべきですか?
var myClass = function() {
var x = 4;
return {
getVal: x
};
}
VAR
の使用と同じこと対var myClass = function() {
this.x = 4;
return {
getVal: this.x
};
}
いただきまし違いと私はそれらを使用する必要があるとき?
引数のために、私の例で行ったようにreturn {}を追加するとどうなりますか?それは現在、このすべてではなく、機能の公的な範囲になります。 – Kristian
@Kristian:はい、 'return'キーワードを使って返ってほしいものは、外部コードでも利用できます。どのprivate変数や関数を返すかはあなた次第です。パブリック変数はpublicなので、必ず 'return'ブロックに入れるべきではありません。実際には、同じメソッドを使用する 'JavaScript Revealing Pattern'を検索することができます。ところで、 'var myClass = function(){/ * code * /}(); 'のように最後に'() 'を追加しない限り、あなたのコードは機能しません。 – Blaster
私はそれをインスタンス化しています。しかし、私は明らかにパターンを使用しています。これは、いつもの可視性を引き継いでいるように見えます。これは、iveがこの質問をする前にこのような質問をしたことがない理由です。 – Kristian