请建议如何将参数传递到使用setInterval的函数中。
我的例子setInterval(funca(10,3), 500);是不正确的。
请建议如何将参数传递到使用setInterval的函数中。
我的例子setInterval(funca(10,3), 500);是不正确的。
当前回答
到目前为止,最实用的答案是tvanfosson给出的,我所能做的就是给你一个ES6的更新版本:
setInterval( ()=>{ funca(10,3); }, 500);
其他回答
这个问题可以很好地演示闭包的使用。其思想是函数使用外部作用域的变量。这里有一个例子……
setInterval(makeClosure("Snowden"), 1000)
function makeClosure(name) {
var ret
ret = function(){
console.log("Hello, " + name);
}
return ret;
}
函数“makeClosure”返回另一个函数,该函数可以访问外部作用域变量“name”。所以,基本上,你需要传递任何变量给“makeClosure”函数,并在函数中使用它们分配给“ret”变量。setInterval将执行分配给“ret”的函数。
此外,与IE支持> 9,你可以传递更多的变量内部设置间隔,将采取你的函数。例句:
function myFunc(arg1, arg2){};
setInterval(myFunc, 500, arg1, arg2);
问候!
将它们作为参数添加到setInterval:
setInterval(funca, 500, 10, 3);
你问题中的语法使用了eval,不建议练习。
我在Vue应用程序中遇到了同样的问题。在我的情况下,这种解决方案仅适用于匿名函数声明为箭头函数,关于在mounted()生命周期钩子上的声明。
到目前为止,最实用的答案是tvanfosson给出的,我所能做的就是给你一个ES6的更新版本:
setInterval( ()=>{ funca(10,3); }, 500);