在这个线程中,我找到了一个我想要使用的 JavaScript 代码片段。
代码如下所示:
(function(global) {
// the function code comes here
})(this);
如何调用此函数来执行代码?我必须为这个global
变量传递什么?
在这个线程中,我找到了一个我想要使用的 JavaScript 代码片段。
代码如下所示:
(function(global) {
// the function code comes here
})(this);
如何调用此函数来执行代码?我必须为这个global
变量传递什么?
该函数会立即执行,您不要通过调用它来执行它。
它是一个函数字面量定义,后跟两个导致该函数立即调用的括号。阅读更多:立即调用函数表达式 (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