关于闭包的一个问题
有段代码
for(var i=0;i<10;i++){
setTimeout((function(pos){
return function(){
someAnimation(pos);
}
})(i/10),i*100)
}
我知道(function(){ })() 匿名函数并能自己执行。在函数后加一对()表示自动执行。
那么关于以上代码中i/10代表什么意思?
------解决方案--------------------(function(arg){... })(value)
匿名函数后的()中的值value,是给函数参数arg传值的。
------解决方案--------------------相当于var pos = i/10;
------解决方案--------------------(function(pos){
return function(){
someAnimation(pos);
}
}) (i/10)
第一个括号 返回一个function
后面你懂得 相当于 a=(function(pos){}) ; a(i/10);