setTimeout参数问题,百度谷歌都找不到解决办法,来求助了

x269147836 2012-05-07 10:46:18
;function test(arr){
alert(arr.join(""));
setTimeout(arguments.callee(arr),1000)//这里怎么才能把arr传递进去啊?
})([1,2,2,3,4,5,5]);

有很多参数,有对象也有字符串
...全文
171 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
x269147836 2012-05-07
  • 打赏
  • 举报
回复
二楼的可以了,不过又出现一堆问题,我i还是慢慢再去调试吧~
结贴给分~
x269147836 2012-05-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
2楼的代码已经写好了退出机制
[/Quote]
恩,这个只是举个例子,把问题最小化啊,自己代码太乱太长,还是不要贴了~
x269147836 2012-05-07
  • 打赏
  • 举报
回复
不好意思啊,那个函数名多写了,前面的括号少写了
这样达不到延时的效果啊,直接就执行了
[Quote=引用 6 楼 legend1988 的回复:]
楼主这样传参数是对的,但是你的函数里function前面少了一个左括号‘(’,setTimeout后面少了一个分号‘;’,而且你这个函数没有退出的机制啊,会一直弹出窗口。
[/Quote]
cn00439805 2012-05-07
  • 打赏
  • 举报
回复
2楼的代码已经写好了退出机制
x269147836 2012-05-07
  • 打赏
  • 举报
回复
直接写不能延时执行啊...
[Quote=引用 3 楼 mubeibei 的回复:]
setTimeout(test(arr),1000)这样写就行了~·
[/Quote]
x269147836 2012-05-07
  • 打赏
  • 举报
回复
谢谢,我试试看~
[Quote=引用 2 楼 的回复:]
;(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……
[/Quote]
Legend1988 2012-05-07
  • 打赏
  • 举报
回复
楼主这样传参数是对的,但是你的函数里function前面少了一个左括号‘(’,setTimeout后面少了一个分号‘;’,而且你这个函数没有退出的机制啊,会一直弹出窗口。
三石-gary 2012-05-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

setTimeout(test(arr),1000)这样写就行了~·
[/Quote]
+1
2012-05-07
  • 打赏
  • 举报
回复

(function test(arr){
var arg = arguments;
alert(arr.join(""));
setTimeout(function(){ arg.callee(arr); }, 1000); //这里怎么才能把arr传递进去啊?
})([1,2,2,3,4,5,5]);
MuBeiBei 2012-05-07
  • 打赏
  • 举报
回复
setTimeout(test(arr),1000)这样写就行了~·
cn00439805 2012-05-07
  • 打赏
  • 举报
回复
;(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可以看控制台输出
x269147836 2012-05-07
  • 打赏
  • 举报
回复
实在找不到办法了

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧