私はこのように書かれた関数呼び出しと時間の夜明けからのJavaScriptのトンを持っている:JavaScriptのパターン:関数呼び出しのコンテキスト
THING.someFunction();
:
THING.someFunction.call(THING);
いつもと同等でなければなりませんように私には思えます
これらの2つの呼び出しは常に同等ですか? JavaScriptの古いバージョンはどうですか?
THING
の2番目の目的は、文脈(this
)をsomeFunction
の内側に設定することです。しかし、その関数内のコンテキストはデフォルトで既にTHING
であるはずです。はい、彼らは同じです
var THING = function() {
// private vars
return{
// code
someFunction : function() {
// code
}
};
}();
あなたのコードは今や 'THING.someFunction'は' undefined'です。 – gilly3
私はTHING宣言の最後に括弧がないと信じています。 THING =関数{}(); –