如何在使用setInterval调用函数时传递参数。 即setInterval('funca(10,3)',500);
不正确。在setInterval函数中传递参数
262
A
回答
436
您需要创建一个匿名函数,以便实际功能不会马上执行。
setInterval(function() { funca(10,3); }, 500);
34
16
您可以使用匿名函数;
setInterval(function() { funca(10,3); },500);
0
这工作setInterval("foo(bar)",int,lang);
.... 乔恩克莱泽导致我的答案。
29
可以传递参数(S)作为函数对象的属性,而不是作为一个参数:
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”将具有正确的范围。
5
报价参数应该足够:
OK --> reloadIntervalID = window.setInterval("reloadSeries('"+param2Pass+"')" , 5000)
KO --> reloadIntervalID = window.setInterval("reloadSeries("+param2Pass+")" , 5000)
注意每个参数的单引号'
。
与IE8,铬和Firefox
56
12
setInterval(function(a,b,c){
console.log(a + b +c);
}, 500, [1],[2],[3]);
//note the console will not print 6
// rather it will print 123 in every 500 ms
// because arguments are passed as array not as numbers
// tested in node.js ie 11 and chrome
0
另一解决方案包括在通过您的功能类似的(如果你有动态变量): setInterval('funca('+ x +','+ y +')',500);
-1
您可以使用名为underscore js的库。它在绑定方法上提供了一个很好的包装,并且也是一种更简洁的语法。让你在指定的范围内执行该函数。
_.bind(功能,适用范围,*参数)匿名函数后
10
setInterval(function,milliseconds,param1,param2,...)
-2
添加parenthesizes似乎这样的伎俩:
function clock() {
n = 10;
while(--n) {
setInterval(function() {
console.log(n);
}(n), 1000);
}
}
0
我知道这个话题这么老,但这里是我的解决方案,在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);
}
9
到目前为止,最实用的答案是一个由tvanfosson给出的,所有我能做的就是给你一个更新的版本ES6:
setInterval(()=>{ funca(10,3); }, 500);
相关问题
- 1. 在函数中使用setInterval并在其中传递参数
- 2. .then()不能在setInterval函数中传递参数?
- 3. 传递函数作为参数并在setInterval中使用javascript
- 4. javascript - 将对象参数传递给setInterval
- 5. 在C++中将函数参数作为函数参数传递
- 6. 在函数pdo中传递参数php
- 7. 在Matlab中传递函数参数
- 8. 在flex函数中传递参数
- 9. 如何在函数中传递参数?
- 10. 在boost :: thread函数中传递参数
- 11. 在scala中传递参数化函数
- 12. 将变量传递给setInterval函数
- 13. 传递“*”参数传递给函数
- 14. 传递JavaScript函数参数
- 15. 传递参数,PHP函数
- 16. 蟒传递函数参数
- 17. Matlab函数参数传递
- 18. $ .getJSON函数传递参数
- 19. jQuery函数传递参数
- 20. 传递参数的函数
- 21. 传递函数的参数
- 22. Python:函数,传递参数
- 23. 参数传递给函数
- 24. C++函数参数传递
- 25. 传递函数参数
- 26. 参数传递给函数
- 27. 参数传递给函数
- 28. VIM函数参数传递
- 29. jquery传递函数参数
- 30. 传递SQL函数参数
什么应该是动态参数? – rony36 2013-08-22 17:16:45
@ rony36 - 你可能想要一个为你创建间隔计时器的函数。将参数传递给函数,使其值在函数闭包中捕获,并在定时器到期时保留。 `function createInterval(f,dynamicParameter,interval){setInterval(function(){f(dynamicParameter);},interval); }`然后称之为`createInterval(funca,dynamicValue,500);`显然你可以扩展这个参数。请使用更多的描述性变量名称。 :) – tvanfosson 2013-08-22 18:12:44
@tvanfosson - 如何清除这种间隔? – Yong 2016-10-03 06:33:09