码迷,mamicode.com
首页 > 其他好文 > 详细

setTimeout 传参

时间:2016-08-06 15:51:46      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:

一般setTimeout中的参数为

   setTimeout(f,time)
但是如果我想要给f函数传入一个参数怎么办
  setTimeout(f(arguments),time)

如果我这样写的话,那么time就不起作用了,f函数会立即执行,因为函数名后跟圆括号


一、让f(arguments)返回一个无参函数
function f(arguments){
  return function(){
    ff(arguments);
  }
}
这样虽然f(arguments)立即执行了,执行后也只是一个无参函数,然后在ff(arguments)中写入真正想要调用的函数
最终代码为:

setTimeout(f(arguments),time);
function f(arguments){
  return function(){
    ff(arguments);
  }
}
function ff(arguments){
  // do something;
}

 


二、将第一个参数写成函数定义,其实和一的本质是一样的

setTimeout(function(){ff(arguments);},time); 也可以是  setTimeout(function a(){ff(arguments);},time);
function ff(arguments){
  // do something;
}

 

setTimeout 传参

标签:

原文地址:http://www.cnblogs.com/YangqinCao/p/5744181.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!