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

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


当前回答

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

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

其他回答

你可以将形参作为函数对象的属性传递,而不是形参:

var f = this.someFunction;  //use 'this' if called from class
f.parameter1 = obj;
f.parameter2 = this;
f.parameter3 = whatever;
setInterval(f, 1000);

然后在函数someFunction中,可以访问参数。这在类内部特别有用,其中作用域自动转到全局空间,并且您将丢失对最初调用setInterval的类的引用。使用这种方法,上面例子中的"someFunction"中的"parameter2"将具有正确的作用域。

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

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

参考这里

setInterval("foo(bar)",int,lang);....Jon Kleiser带我找到了答案。

引用论点就足够了:

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

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

注意每个参数的单引号。

通过IE8, Chrome和FireFox测试

     setInterval(function(a,b,c){

          console.log(a + b +c);  

      }, 500, 1,2,3);

           //note the console will  print 6
          //here we are passing 1,2,3 for a,b,c arguments
         // tested in node v 8.11 and chrome 69