我一直在努力使用Javascript对象。
(foo)
中的function(args){ ... }(foo)
是什么意思?
答案 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
作为参数传递。