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

我的例子setInterval(funca(10,3), 500);是不正确的。


当前回答

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

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

参考这里

其他回答

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

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

参考这里

你可以使用一个名为下划线js的库。它对bind方法进行了很好的包装,语法也更简洁。允许您在指定范围内执行函数。

http://underscorejs.org/#bind

_。绑定(函数,作用域,*参数)

这对我很有效

let theNumber = document.getElementById('number');
let counter = 0;

function skills (counterInput, timer, element) {
  setInterval(() => {
    if(counterInput > counter) {
      counter += 1;
      element.textContent = `${counter} %` 
    }else {
      clearInterval();
    }
  }, timer)
}

skills(70, 200, theNumber);
setInterval(function,milliseconds,param1,param2,...)

更新:2018 -使用“spread”操作符

函数中继器(param1, param2, param3){ 警报(param1); 警报(param2); 警报(param3); } Let input = [1,2,3]; setInterval(中继器,3000,…输入);

此外,与IE支持> 9,你可以传递更多的变量内部设置间隔,将采取你的函数。例句:

function myFunc(arg1, arg2){};
setInterval(myFunc, 500, arg1, arg2);

问候!