setTimeout参数问题,百度谷歌都找不到解决办法,来求助了
;function test(arr){
   alert(arr.join(""));
   setTimeout(arguments.callee(arr),1000)//这里怎么才能把arr传递进去啊?
})([1,2,2,3,4,5,5]);
有很多参数,有对象也有字符串
------解决方案--------------------
;(function test(arr){
   var fn = arguments.callee;
   if(!fn.n){fn.n = 0;}
   fn.n++;
   if(fn.n>3){return}
   console.log(arr.join("|"));
   setTimeout(function(){
       fn(arr);
   },1000);
})([1,2,2,3,4,5,5]);
用火狐或者chrome可以看控制台输出
------解决方案--------------------setTimeout(test(arr),1000)这样写就行了~·
------解决方案--------------------JScript code
        (function test(arr){
           var arg = arguments;
           alert(arr.join(""));
           setTimeout(function(){ arg.callee(arr); }, 1000);  //这里怎么才能把arr传递进去啊?
        })([1,2,2,3,4,5,5]);
------解决方案--------------------
------解决方案--------------------
楼主这样传参数是对的,但是你的函数里function前面少了一个左括号‘(’,setTimeout后面少了一个分号‘;’,而且你这个函数没有退出的机制啊,会一直弹出窗口。
------解决方案--------------------
2楼的代码已经写好了退出机制