这种模式的名称/目的是什么?

Tom*_*Tom 6 javascript jquery

我没有找到一个要求类似于这个模式的帖子,抱歉,如果我错过了它.

无论如何,我在许多jQuery插件或脚本中重复看到这种模式:

(function () {
  ...........
}());
Run Code Online (Sandbox Code Playgroud)

它的目的是什么?它有名字吗?

谢谢!

Mic*_*nis 5

它也被称为立即调用的函数表达式

Ben Alman有一篇关于IIFE使用的好文章,以及为什么"自动执行匿名函数"不是最好的术语:

立即调用函数表达式最有利的副作用之一是,因为不使用标识符而立即调用此未命名或匿名函数表达式,所以可以使用闭包而不会污染当前作用域.

[... T]术语"自执行"有点误导,因为即使正在执行该功能,它也不是正在执行的功能.此外,"匿名"是不必要的特定,因为立即调用的函数表达式可以是匿名的或命名的.至于我更喜欢​​"被引用"而非"被执行",这是一个简单的头韵问题; 我认为"IIFE"看起来和听起来都比"IEFE"好.