在JS,setTimeout和setInterval,你不能把
参数在使用
函数名作为呼叫
处理,在很多
情况下,你需要一个参数。
这需要
解决。
首先,以字符串的形式:(缺陷)参数不能周期性地更改。
setInterval(foo(ID)
二、匿名
功能打包(
推荐)
复制代码代码如下所示:
Window.setInterval(function()
{
符(id);
},1000);
通过这种方式,可以周期性地
执行富(id)函数,并传递变量id;
三。定义一个返回非参数函数的函数。
复制代码代码如下所示:
函数(id)
{
警报(id);
}
功能_foo(ID)
{
返回函数()
{
符(id);
}
}
window.setinterval(_foo(ID),1000);
一个功能_foo定义在这里,它是用来接收参数和函数没有参数返回。在这个函数中,外部函数的参数在内部使用,因此不需要调用。
橱窗里。setInterval函数,_foo(ID)是用来处理函数没有参数的回归,从而实现参数的传递函数。
四。
修改setInterval
复制代码代码如下所示:
函数(id)
{
警报(id);
}
无功_sto = setInterval;
window.setinterval =函数(回调,超时参数)
{
var args = array.prototype.slice.call(参数2);
无功_cb =功能()
{
Callback.apply(null,args);
}
_sto(_cb,超时);
}
Window.setInterval(你好,3000,
用户名);
上述
方法也适用于setTimeout。