发布于 2013-10-17 12:09:52
它只是一个具有定义上下文(this)的立即调用的函数表达式。一个正常的生命将以全局对象作为它的上下文。
读取链接到的源文件时,在这个上下文中(没有双关意),他们使用this获得对全局对象的显式引用,而不假定它的名称为window (用于浏览器)或global (用于node.js等)。
( IIFE是一个常见的构造,用于创建一个新的作用域,可以在其中声明变量而不污染全局名称空间,并立即执行块中的代码)。
发布于 2013-10-17 12:11:26
这样做的主要优点是您可以在函数中声明尽可能多的变量,并且它们不会污染全局范围。
另见:模块模式
https://stackoverflow.com/questions/19426323
复制相似问题