在JS,不带参数的传递函数setInterval和setTimeout解决方案

在JS,不带参数的传递函数setInterval和setTimeout解决方案
在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。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部