+ -
当前位置:首页 → 问答吧 → 匿名函数括号问题

匿名函数括号问题

时间:2011-10-12

来源:互联网

JScript code

(function (a){
return function(){alert(a)}
})(1)


将以上代码写成:
JScript code

function (a){
return function(){alert(a)}
}(1)


是不正确的
但是
JScript code

function c(a,fn){fn()}
c(1,function (a){
return function(){alert(a)}
}(1));


作为参数的那个匿名函数外面的括号加不加都能正常运行,这是为什么呢??

作者: snailxr   发布时间: 2011-10-12

(function (a){
return function(){alert(a)}
})(1)
a=function (a){
return function(){alert(a)}
}(1);
function c(a,fn){fn()}
c(1,a);

作者: snailxr   发布时间: 2011-10-12

引用 1 楼 snailxr 的回复:

(function (a){
return function(){alert(a)}
})(1)
a=function (a){
return function(){alert(a)}
}(1);
function c(a,fn){fn()}
c(1,a);

有点意思

作者: snailxr   发布时间: 2011-10-12

JScript code
(function (a){
return function(){alert(a)}
})(1)
这样写是表示定义一个匿名函数并且传入参数1,立即执行。。

作者: axiheyhey   发布时间: 2011-10-12