this
キーワードの仕組みを理解しようとしています。
この記事このキーワードの状態
「JavaScript では、これは常に、実行している関数の「所有者」、または関数がメソッドであるオブジェクトを指します。」
function someClosure() {
var myVal0, myVal1, myVal2;
init = function (myVal0, myVal1, myVal2) {
myVal0 = myVal0;
this.myVal1 = myVal1;
this.myVal2 = myVal2;
};
getMyVal0 = function() { return myVal0 };
getMyVal1 = function() { return myVal1 }
getMyVal2 = function() { return this.myVal2 }
};
名前の衝突のために呼び出された後だgetMyVal0
と思います(割り当てがあいまいです)。undefined
init()
しかし、( を呼び出した後) が返されるinit()
のはなぜですか? への参照があいまいであってはなりません。Javascript では明示的に を使用する必要がありますか? 期待値を返しますが、明示的な.getMyVal1
undefined
myVal1
this
getMyVal2
this
この動作を明確にしてください。
最終的には、メンバー変数を初期化するときに関数の引数の命名規則を確立しようとしています。業界の慣例では、IRR は IRR であり、変数に 2 つの名前を付けるのを避けることができるように思わthis
れます (メンバー変数を常に で参照するthis
必要はありません)。