我可以用一个变量作为函数的参数吗?javascript

我可以用一个变量作为函数的参数吗?javascript,javascript,function,variables,parameters,Javascript,Function,Variables,Parameters,我正在尝试使用javascript中的函数进行40次循环 我就是这么做的: vari; 设置超时(功能ro(i){ 如果(i%5==0){ currentIndex=0; } 如果(i%5==1){ currentIndex=1; } 如果(i%5==2){ currentIndex=2; } 如果(i%5==3){ 当前指数=3; } 如果(i%5==4){ currentIndex=4; } document.getElementById('radio'+currentIndex.)。单击

我正在尝试使用javascript中的函数进行40次循环

我就是这么做的:

vari;
设置超时(功能ro(i){
如果(i%5==0){
currentIndex=0;
}
如果(i%5==1){
currentIndex=1;
}
如果(i%5==2){
currentIndex=2;
}
如果(i%5==3){
当前指数=3;
}
如果(i%5==4){
currentIndex=4;
}
document.getElementById('radio'+currentIndex.)。单击();
如果(currentIndex==5){
currentIndex=0
}
}, 2000);
对于(变量i=0;i<200;i++){
ro(一);

}
您需要做的不是将i作为参数传递,而是将其保持全局。您只需在范围外定义它(比如在代码顶部),然后在函数中使用它,只需调用它的名称(在本例中为i)。以下是修改后的代码:

vari;
setTimeout(函数ro(){
如果(i%5==0){
currentIndex=0;
}
如果(i%5==1){
currentIndex=1;
}
如果(i%5==2){
currentIndex=2;
}
如果(i%5==3){
当前指数=3;
}
如果(i%5==4){
currentIndex=4;
}
document.getElementById('radio'+currentIndex.)。单击();
如果(currentIndex==5){
currentIndex=0
}
}, 2000);
对于(i=0;i<200;i++){
ro();

}
我不确定该如何运行。在
for
循环中,您正在调用函数
ro
,但该函数在
setTimeout
闭包的范围之外不可用。
40
times循环在哪里?