javascript - javascript中自执行函数的目的是什么?

标签 javascript closures iife self-executing-function

在 javascript 中,你想什么时候使用这个:

(function(){
    //Bunch of code...
})();

在此:

//Bunch of code...

最佳答案

这都是关于变量范围的。默认情况下,自执行函数中声明的变量仅可用于自执行函数中的代码。这允许编写代码而不用关心变量在其他 JavaScript 代码块中是如何命名的。

例如,正如 Alexander 的评论中所述:

(function() {
  var foo = 3;
  console.log(foo);
})();

console.log(foo);

这将首先记录 3,然后在下一个 console.log 上抛出错误,因为未定义 foo

关于javascript - javascript中自执行函数的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/592396/

相关文章:

Javascript - 闭包概念不清楚

JavaScript 匿名函数表达式 vs IIFE

javascript,立即函数的正确使用?

javascript - AngularJS 链接 $http get 请求

javascript - IE9 F12 开发人员工具 - "Load(event)"和 "page has finished loading"有什么区别?

javascript - JS计数器持续更新

javascript - PHP自动注销无需刷新页面

lambda - lambda 函数的类型是什么?

ios - 从从 firebase 检索数据的闭包中获取数据

javascript - 将对象与模块模式组合时我做错了什么