请建议如何将参数传递到使用setInterval的函数中。
我的例子setInterval(funca(10,3), 500);是不正确的。
请建议如何将参数传递到使用setInterval的函数中。
我的例子setInterval(funca(10,3), 500);是不正确的。
当前回答
这个问题的最佳解决方案是下一段代码:
setInterval(() => yourFunction(param1, param2), 1000);
其他回答
现在用ES5,绑定方法函数原型:
setInterval(funca.bind(null,10,3),500);
参考这里
引用论点就足够了:
OK --> reloadIntervalID = window.setInterval( "reloadSeries('"+param2Pass+"')" , 5000)
KO --> reloadIntervalID = window.setInterval( "reloadSeries( "+param2Pass+" )" , 5000)
注意每个参数的单引号。
通过IE8, Chrome和FireFox测试
到目前为止,最实用的答案是tvanfosson给出的,我所能做的就是给你一个ES6的更新版本:
setInterval( ()=>{ funca(10,3); }, 500);
我知道这个话题是如此古老,但这是我的解决方案传递参数在setInterval函数。
Html:
var fiveMinutes = 60 * 2;
var display = document.querySelector('#timer');
startTimer(fiveMinutes, display);
JavaScript:
function startTimer(duration, display) {
var timer = duration,
minutes, seconds;
setInterval(function () {
minutes = parseInt(timer / 60, 10);
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
display.textContent = minutes + ":" + seconds;
--timer; // put boolean value for minus values.
}, 1000);
}
您需要创建一个匿名函数,这样实际的函数就不会立即执行。
setInterval( function() { funca(10,3); }, 500 );