日期:2014-05-16 浏览次数:20332 次
(function (a){ return function(){alert(a)} })(1)
function (a){ return function(){alert(a)} }(1)
function c(a,fn){fn()} c(1,function (a){ return function(){alert(a)} }(1));
(function (a){ return function(){alert(a)} })(1)
------解决方案--------------------
()在js中是强制表达式运算
(function (a){
return function(){alert(a)}
})(1)
不用()括着的话,引擎不知道你要强制运算他
其他它等同于
(function (a){
return function(){alert(a)}
}(1))
所以就可以理解function c(a,fn){fn()}
c(1,function (a){
return function(){alert(a)}
}(1));
为什么是正确了