你能用javascript解释一下这个函数吗?

你能用javascript解释一下这个函数吗?,javascript,Javascript,可能重复: 我不知道它有什么用?它本身除了声明一个未使用的变量之外什么也不做,它应该调用一些其他函数来做一些有用的事情 也就是说,您拥有的是一个立即调用的函数表达式,即匿名函数: function() { ... } 在没有参数的情况下调用: (f....)(); 理由有两方面: 它允许定义和调用函数,而无需在全局名称空间中为其命名 在函数中定义的任何变量也保存在该范围内,并且不会污染全局名称空间 这会立即调用匿名函数 看看这里:这是一个立即执行的匿名函数 其想法是创建一个私有范围。通常

可能重复:


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

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

function() { ... }
在没有参数的情况下调用:

(f....)();
理由有两方面:

  • 它允许定义和调用函数,而无需在全局名称空间中为其命名
  • 在函数中定义的任何变量也保存在该范围内,并且不会污染全局名称空间

这会立即调用匿名函数


看看这里:

这是一个立即执行的匿名函数

其想法是创建一个私有范围。通常会从匿名函数返回一个闭包,该函数保留对在该范围内创建的变量的访问

比如说

var greet = (function () {
    var foo = 'Hello world';
    return function () {
        alert(foo);
    }
}());

greet();

有时也称为闭包,因为它所做的只是创建一个新的作用域。没有名称的每个函数表达式都是匿名函数。
var greet = (function () {
    var foo = 'Hello world';
    return function () {
        alert(foo);
    }
}());

greet();