利用匿名函数向setInterval中执行的函数传递参数
2012-01-11 13:12
375 查看
假设有如下函数的定义:
function foo(){
alert(1);
}
有两种方法可以在setInterval中调用foo函数:
(1)setInterval('foo();', 2000);
(2)setInterval(foo, 2000);
现在我们将foo函数的定义修改如下:
function foo(n){
alert(n);
}
如果我们需要在setInterval中调用foo函数,并且使用临时变量作为他的参数时,可以使用如下方法:
var param = 1; //我们假设param是一个临时变量
//setInterval('foo(param)', 2000); 这种方法是错误的
setInterval((function(n){
return function(){foo(n);};
})(param), 2000);
在这个过程中我们定义了一个匿名函数并进行了调用,并将这个匿名函数的返回值(也是一个函数)作为setInterval的第一个参数。本质上类似上面所提到的第(2)种setInterval的调用方法。
function foo(){
alert(1);
}
有两种方法可以在setInterval中调用foo函数:
(1)setInterval('foo();', 2000);
(2)setInterval(foo, 2000);
现在我们将foo函数的定义修改如下:
function foo(n){
alert(n);
}
如果我们需要在setInterval中调用foo函数,并且使用临时变量作为他的参数时,可以使用如下方法:
var param = 1; //我们假设param是一个临时变量
//setInterval('foo(param)', 2000); 这种方法是错误的
setInterval((function(n){
return function(){foo(n);};
})(param), 2000);
在这个过程中我们定义了一个匿名函数并进行了调用,并将这个匿名函数的返回值(也是一个函数)作为setInterval的第一个参数。本质上类似上面所提到的第(2)种setInterval的调用方法。
相关文章推荐
- 使用让定时器settimeout、setInterval执行函数能够传递参数
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- 使用定时器settimeout、setInterval执行能传递参数的函数
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- 如何使用定时器settimeout、setInterval执行能传递参数的函数(转)
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- 如何使用定时器settimeout、setInterval执行能传递参数的函数(转)
- 利用数组名作为函数参数传递排序和用指针进行排序
- 使用匿名函数给setInterval()传递参数
- JS中setInterval、setTimeout不能传递带参数的函数的解决办法
- JS中setInterval、setTimeout不能传递带参数的函数的解决方案
- 使用函数传递参数来执行数据库操作
- 使用匿名函数为setInterval传递参数
- 如何给window.setInterval的函数传递参数