javascript-setInterval调用中的参数之间的差异

这些setInterval调用之间有什么区别,应该使用哪些调用?

setInterval("myFunction()",1000)
setInterval("myFunction",1000)
setInterval(myFunction(),1000)
setInterval(myFunction,1000)

我的猜测是,JS在前两个(字符串)上使用eval()并直接调用后两个.

另外,我不理解带括号和不带括号的调用之间的区别.带括号的直接调用它,然后定期调用它的返回值?

解决方法:

正确;前两个使用eval,并且必须不惜一切代价避免.

添加()会立即调用该函数.

Javascript函数实际上是保存函数的变量.
编写setInterval(myFunction,1000)会将myFunction变量的值传递给setInterval.
编写setInterval(myFunction(),1000)将调用myFunction,然后将myFunction返回的任何内容传递给setInterval,就像调用任何其他函数一样.

上一篇:javascript – 使用setInterval()进行简单的连续轮询


下一篇:JavaScript 关于setTimeout与setInterval的小研究