私はいくつかのプラグインを使用して作成する方法を研究してangularjs
おり、そのうちのいくつかではこれに直面しました:
(function() {
'use strict'
//code...
}).call(window);
以下のような自己呼び出し関数を使用することとの違いは何ですか?
(function() {
'use strict'
//code...
})();
私はいくつかのプラグインを使用して作成する方法を研究してangularjs
おり、そのうちのいくつかではこれに直面しました:
(function() {
'use strict'
//code...
}).call(window);
以下のような自己呼び出し関数を使用することとの違いは何ですか?
(function() {
'use strict'
//code...
})();
2 つの呼び出しの値は異なりthis
ます。
このコード
(function() {
'use strict'
console.log(this)
})();
undefined
厳密モード関数のメソッド以外の直接呼び出しでは のthis
値が使用されるため、ログに記録されますundefined
。
このコード
(function() {
'use strict'
console.log(this)
}).call(window);
window
の最初の引数は、呼び出される関数にcall
提供するために使用されるため、ログに記録されます。this
推測する必要がある場合、これは、裸の非メソッド呼び出しのfor window
(の代わりにundefined
) を使用するという非厳密な動作を模倣するために行われていると言えます。あなたが意味する場合はthis
単に使用してください。window
window