任何人都可以解释以下JavaScript对象的含义或工作原理:
var var1 = (function(){
// some code
})();
var1(function(){
// some code
})

答案 0 :(得分:0)
第一段代码立即执行括号内的函数,并将var1设置为函数的返回值。
假设第一个片段的返回值本身就是一个函数,第二段代码将调用该函数,并将第二个函数的结果作为参数传递.......
答案 1 :(得分:0)
第一个表达式将创建一个立即调用的匿名函数表达式,并将其返回值分配给变量var1
。
第二个表达式是调用名为var1
的函数并将函数结果作为参数传递。在您的示例代码中,var1
是立即调用的函数的结果,因此它会出错,因为结果不是函数。