var a=(function(a){xxx})(a) 的js格式
var a=(function(a){
// todo
})(a);
console.log(a);
// 定义一个匿名函数,把a传递进去,a是undefined
// 因为匿名函数本身没有返回值,如果是
var a=(function(a){
return 1;
})(a);
console.log(a);// a此时就是1
// 如果要自动运行这个匿名函数的同时又赋值给a,那就应该是这样的:
var i = 0;// 计数器
var a=(function(a){
i++;
console.log(“i am running…” + i);
return arguments.callee;
})(a);// 这里跑一次
a();//被调用一次
追问
我主要是不明白为什么最后小括号里要放个a(a不是当前函数本身么?)
追答
a放进去是作为参数传递到匿名函数中去的。
具体该不该放,要看当事人的需求了