繁体   English   中英

如何使用setInterval()重复调用带有参数的函数?

[英]How do you call a function with arguments repeatedly with setInterval()?

我的函数运行正常但我希望它重复运行:

$('button').click( function(){

    setInterval(magicWords(7,3), 1000); 

});

我尝试在函数本身中硬连接参数并运行参数 -但是它仍然是不行......?

你可以这样做。

$('button').click( function(){

    setInterval(function(){
        magicWords(7,3)
     }, 1000); 

});

当你做setInterval(magicWords(7,3), 1000); 它在执行语句时调用函数,并且有效地将函数的结果(如果它不返回任何东西,可能是未定义的)将被设置为在该间隔运行而不是函数本身。 你可以使用

当然,如果您准备添加垫片以支持早期的浏览器,您可以使用ecmaScript 5 function.bind 每当调用时,这将使我们的函数与指定的上下文和参数绑定。

setInterval(magicWords.bind(this, 7,3), 1000);

使用闭包

setInterval( function(){ magicWords(7,3); }, 1000); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM