このスレッドで、使用したい JavaScript コード スニペットを見つけました。
コードは次のようになります。
(function(global) {
// the function code comes here
})(this);
この関数を呼び出してコードを実行するにはどうすればよいですか? global
この変数には何を渡す必要がありますか?
このスレッドで、使用したい JavaScript コード スニペットを見つけました。
コードは次のようになります。
(function(global) {
// the function code comes here
})(this);
この関数を呼び出してコードを実行するにはどうすればよいですか? global
この変数には何を渡す必要がありますか?
関数はすぐに実行されます。呼び出して実行するのではありません。
これは関数リテラル定義であり、その後にその関数をすぐに呼び出す 2 つの括弧が続きます。続きを読む:即時呼び出し関数式 (IIFE)
内部に配置したコードは、すぐに実行されます。呼び出し括弧内に配置されたものはすべて、引数として関数に渡されます。サンプル コードがグローバル スコープで定義され、this
オブジェクトwindow
でありglobal
、関数本体内で参照されていると仮定します。プログラムをカプセル化して、変数の衝突を回避したり、厳密モードを強制したりするのに最適な方法です。
この構成体は関数を定義します:
function(global) {
// the function code comes here
}
すぐに呼び出して、this
パラメーターとして渡します。
([function])(this)
識別子global
は、関数本体内のこのパラメーターの名前です。たとえば、試してみてください
console.log(this); // outputs something
(function(global) {
console.log(global); // outputs the same thing as above
})(this);
この関数を呼び出してコードを実行するにはどうすればよいですか?
すでに呼び出されています:(this)
このグローバル変数には何を渡す必要がありますか?
this