你能解释一下javascript中的功能吗?

run*_*day 3 javascript

可能重复:
这是什么意思?(function(x,y)){...}){a,b); 在JavaScript中

(function(){
    var foo = 'Hello world';
})();
Run Code Online (Sandbox Code Playgroud)

我不知道它的用途是什么?它是什么意思/?

Aln*_*tak 6

除了声明一个未使用的变量之外,它本身什么都不做 - 它应该调用一些其他函数来做一些有用的事情.

也就是说,你所拥有的是一个立即调用的函数表达式,即一个匿名函数:

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

在没有参数的情况下调用:

(f....)();
Run Code Online (Sandbox Code Playgroud)

理由是双重的:

  • 它允许定义和调用函数,而不在全局名称空间中为其指定名称
  • 定义的任何变量的功能也被认为范围之内,并且不污染全局命名空间.

  • 每个没有名称的函数表达式都是匿名函数. (4认同)