js回调函数内给外部变量赋值

2025-04-26 23:15:07
推荐回答(2个)
回答1:

callback( list[ i ], i )这里的传的参数list[ i ]实际上是一个拷贝,所以你的row=i在循环的时候改的只是拷贝的值,退出循环就失效了。你直接用area[ i ]=i能正常赋值是因为area就是数组本身,你修改它自身当然有效

回答2:

foreach(area,function(row,i){
row=1;
});
——上面这个“row”应该是等于i吧。不然你这回调函数多个形参i是做什么用的?