(function(){// code})()的用法

时间:2012-02-28 12:45:47

标签: javascript syntax

  

可能重复:
  What do parentheses surrounding a JavaScript object/function/class declaration mean?

我根本不理解...的用法。

(function () {
    //code
})()

...的事情。

我称之为“事物”,我甚至不知道它的名字......

这是onReady或onLoad事件的简写,还是某种范围或封闭事件?

如果有人能够解释这种语法的用法和目的,我们将不胜感激。

2 个答案:

答案 0 :(得分:4)

它被称为自执行函数 - 它在声明后调用它自己。

通常用于不污染全局命名空间。


对于一篇简短但有趣的文章,请阅读:

How Self Executing Functions Work

答案 1 :(得分:3)

  

这是onReady或onLoad事件的简写,还是某种形式的简写   范围或封闭事物?

自行调用匿名函数

调用本身由于最后(),因为这是你通常调用函数的方式:

someFunc();

匿名因为它没有名字。


整个函数体包含在()中,以在其中创建局部变量范围。除非明确公开,否则以这种方式声明的任何变量/函数都不会在外部可用(因此全局范围不会被污染)。


You can learn more about it here.