请建议如何将参数传递到使用setInterval的函数中。

我的例子setInterval(funca(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);
const designated = "1 jan 2021"

function countdown(designated_time){

    const currentTime = new Date();
    const future_time = new Date(designated_time);
    console.log(future_time - currentTime);
}

countdown(designated);

setInterval(countdown, 1000, designated);

有很多方法可以做到这一点,我个人认为这是干净和甜蜜的。

现在用ES5,绑定方法函数原型:

setInterval(funca.bind(null,10,3),500);

参考这里

这个问题的最佳解决方案是下一段代码:

setInterval(() => yourFunction(param1, param2), 1000);

引用论点就足够了:

OK --> reloadIntervalID = window.setInterval( "reloadSeries('"+param2Pass+"')" , 5000)

KO --> reloadIntervalID = window.setInterval( "reloadSeries( "+param2Pass+" )" , 5000)

注意每个参数的单引号。

通过IE8, Chrome和FireFox测试