this thread私は使用したいJavaScriptコードスニペットを見つけました。(function(global){...})(this);使い方
コードは次のようになります。
(function(global) {
// the function code comes here
})(this);
どのように私は、コードを実行するために、この関数を呼び出すことができますか?このglobal
変数には何を渡す必要がありますか?
this thread私は使用したいJavaScriptコードスニペットを見つけました。(function(global){...})(this);使い方
コードは次のようになります。
(function(global) {
// the function code comes here
})(this);
どのように私は、コードを実行するために、この関数を呼び出すことができますか?このglobal
変数には何を渡す必要がありますか?
この関数はすぐに実行されますが、関数を呼び出すと実行されません。
これは関数のリテラル定義であり、その関数が直ちに呼び出されるようにする2つの括弧が続きます。続きを読む:Immediately-Invoked Function Expression (IIFE)
あなたが配置するコードはすぐに実行されます。呼び出しparensに置かれたものはすべて引数として関数に渡されます。サンプルコードがグローバルスコープで定義されていると仮定すると、this
はwindow
オブジェクトであり、関数本体内でglobal
と参照されています。これは、変数の衝突を避け、厳密なモードを強制するために、あなたのプログラムをカプセル化する素晴らしい方法です。
それがすでに呼び出されているコードを実行するにはどうすればよいですか?
:(this)
私はこのグローバル変数の中に合格する必要がありますか?
this
この構築物は、関数を定義:
function(global) {
// the function code comes here
}
と直ちに、パラメータとしてthis
を渡し、それを呼び出す:
([function])(this)
識別子global
は単にの名前でありますこのパラメータは関数本体の中にあります。 `this`は(` this`が何であれ - - 文脈に依存するであろうこと)既に `はGlobal`パラメータの値として渡されている例えば、あなたは何を渡す必要はありません
console.log(this); // outputs something
(function(global) {
console.log(global); // outputs the same thing as above
})(this);
ありがとうございました。残念ながら私は2つの答えを受け入れることができません:-( – BetaRide
を試してみてください。 –