函数(args){...}(foo)中的(foo)是什么意思?

时间:2013-07-25 07:45:54

标签: javascript

我一直在努力使用Javascript对象。

(foo)中的function(args){ ... }(foo)是什么意思?

5 个答案:

答案 0 :(得分:3)

您正在声明一个功能,然后您调用它。你可以分2步完成:

function f(args){}

f(foo);

单步和匿名:

(function(args){})(foo);

答案 1 :(得分:2)

当您看到function (args) { }后跟括号(foo)时,它是immediately invoked function expression(IIFE - 发音为'iffy')。

function (args) { } (foo);

基本相同
var foofun = function (args) { };
foofun(foo);

function foofun(args) { }
foofun(foo);

表达式也是匿名的,因为该函数不存储在var中且没有名称 所以foo只是args参数的参数。

答案 2 :(得分:1)

这是immediately invoced function expression(IIFE)的示例。 声明匿名函数后,通过参数foo调用它立即调用它。

foo可能只是您可以作为参数传递给即将被立即调用的函数声明的任何对象的示例。

答案 3 :(得分:0)

该函数是匿名的(没有名称),并使用参数foo

调用该函数

答案 4 :(得分:0)

您的陈述可以改写为:

function xy(args) {
   //code here
}

xy(foo);

所以基本上你只是在定义它之后直接调用该函数并将变量foo作为参数传递。