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楼的代码已经写好了退出机制