[英]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.