如果我创建一个像这样的立即调用函数:

// assigned to variable and then invoked it
var iife = (foo)();

// defined the function separately
function foo() {
  var bar = 'baz';
  console.log(bar);
}


这是有效的IIFE吗?

最佳答案

IIFE是这样的:

(function () {
  // do some here
})();


在您的示例中,将foo设置为常规函数,然后执行它。

但是foo将是常规变量。
在实际的IIFE中,它不会在当前范围内为该函数创建变量,而只是执行它。

关于javascript - 将立即调用的函数定义为普通函数并在以后将其分配给变量是否有效?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40650648/

10-12 14:26
查看更多