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

时间:2011-01-18 01:43:06

标签: javascript setinterval

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

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

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

另外,我不明白有和没有括号的电话之间的区别。带括号的那些直接调用它然后定期调用它的返回值?

1 个答案:

答案 0 :(得分:3)

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

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

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