您的位置:首页 > 其它

利用匿名函数向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