setTimeout如何指定带参数的函数???

wozuiqiangdeaoyi 2013-11-15 03:07:33
function needParam(param1, param2, param3)
{
alert(param1, param2, param3);
}

怎么setTimeout这个函数?????
...全文
1052 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Anlige 2013-11-18
  • 打赏
  • 举报
回复
直接把参数作为全局变量就好了,还用setTimeout传递什么参数啊;实在相传,弄个闭包
sliwey 2013-11-18
  • 打赏
  • 举报
回复
引用 9 楼 l676331991 的回复:
[quote=引用 2 楼 u011559804 的回复:]

setTimeout('needParam(param1, param2, param3)', 300); 
妈妈说,永远不要传递字符串作为setTimeout的第一个参数!!!记住第一个参数只允许函数,或者匿名函数! 因为传递字符串有陷阱啊!!它就是披着羊皮的eval啊!!而且上下文会变成全局啊!!

//global下
var param1 = 1, param2 = 2, param3 = 3;
function test() {
  var param1 = 4, param2 = 5, param3 = 6;
  setTimeout('needParam(param1, param2, param3)', 300); 
}
[/quote] 学习了。。
licip 2013-11-18
  • 打赏
  • 举报
回复
k = function(g,k){ console.log(g,k); } setTimeout(k,100,6,7) 这种形式应该不行吧,参数传不进去吧,10楼有试过吗?
wozuiqiangdeaoyi 2013-11-18
  • 打赏
  • 举报
回复
引用 10 楼 t7jn56rtf8 的回复:
k = function(g,k){ console.log(g,k); } setTimeout(k,100,6,7) 这个可能对你有帮助
这个在火狐下可用,在IE8中不可用
wozuiqiangdeaoyi 2013-11-18
  • 打赏
  • 举报
回复
引用 10 楼 t7jn56rtf8 的回复:
k = function(g,k){ console.log(g,k); } setTimeout(k,100,6,7) 这个可能对你有帮助
这个6和7就是g和k吧?
王坤明 2013-11-17
  • 打赏
  • 举报
回复
k = function(g,k){ console.log(g,k); } setTimeout(k,100,6,7) 这个可能对你有帮助
l676331991 2013-11-15
  • 打赏
  • 举报
回复
引用 2 楼 u011559804 的回复:

setTimeout('needParam(param1, param2, param3)', 300); 
妈妈说,永远不要传递字符串作为setTimeout的第一个参数!!!记住第一个参数只允许函数,或者匿名函数! 因为传递字符串有陷阱啊!!它就是披着羊皮的eval啊!!而且上下文会变成全局啊!!

//global下
var param1 = 1, param2 = 2, param3 = 3;
function test() {
  var param1 = 4, param2 = 5, param3 = 6;
  setTimeout('needParam(param1, param2, param3)', 300); 
}
  • 打赏
  • 举报
回复
可用分和技术分不是一个东西, 可用分可以转化为技术分(结贴) 可用分可以用来发帖 但是技术分经过可用分转换来之后就只能看着,剩下的什么都做不了。
u012724674 2013-11-15
  • 打赏
  • 举报
回复
我剩余分发完啦不就不能发帖吗还要技术分有什么用
u012724674 2013-11-15
  • 打赏
  • 举报
回复
问一下剩余分是发帖用的那技术分有什么用啊
sliwey 2013-11-15
  • 打赏
  • 举报
回复
引用 3 楼 wozuiqiangdeaoyi 的回复:
[quote=引用 2 楼 u011559804 的回复:]

setTimeout('needParam(param1, param2, param3)', 300); 
显然当参数过于复杂的时候,比如同时包含'和“,这个方法就很难有效了[/quote] 那你就直接把方法写在setTimeout里呗
wozuiqiangdeaoyi 2013-11-15
  • 打赏
  • 举报
回复
引用 1 楼 ysai 的回复:
setTimeout(function(){needParam(a,b,c,d)},200);
这个方法不错!
wozuiqiangdeaoyi 2013-11-15
  • 打赏
  • 举报
回复
引用 2 楼 u011559804 的回复:

setTimeout('needParam(param1, param2, param3)', 300); 
显然当参数过于复杂的时候,比如同时包含'和“,这个方法就很难有效了
sliwey 2013-11-15
  • 打赏
  • 举报
回复

setTimeout('needParam(param1, param2, param3)', 300); 
ysai 2013-11-15
  • 打赏
  • 举报
回复
setTimeout(function(){needParam(a,b,c,d)},200);

87,995

社区成员

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

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