我的函数一次正确运行,但我希望它重复运行:
$('button').click( function(){
setInterval(magicWords(7,3), 1000);
});
我尝试在函数本身中硬连线参数并运行它parameter-less,但仍然不行......?
我的函数一次正确运行,但我希望它重复运行:
$('button').click( function(){
setInterval(magicWords(7,3), 1000);
});
我尝试在函数本身中硬连线参数并运行它parameter-less,但仍然不行......?
你可以这样做。
$('button').click( function(){
setInterval(function(){
magicWords(7,3)
}, 1000);
});
当你这样做setInterval(magicWords(7,3), 1000);
时,它会在执行语句时调用函数,并且实际上你的函数的结果(如果它不返回任何东西,可能是未定义的)将被设置为在该时间间隔而不是函数本身运行。你可以使用
当然,如果您准备添加 shim 以支持早期浏览器,您可以使用 ecmaScript 5 function.bind。这将在调用时将我们的函数与指定的上下文和参数绑定。
setInterval(magicWords.bind(this, 7,3), 1000);
使用闭包:
setInterval( function(){ magicWords(7,3); }, 1000);