Javascript setInterval调用中参数之间的差异
这些setInterval调用与应该使用的调用之间有什么区别Javascript setInterval调用中参数之间的差异,javascript,setinterval,Javascript,Setinterval,这些setInterval调用与应该使用的调用之间有什么区别 setInterval("myFunction()",1000) setInterval("myFunction",1000) setInterval(myFunction(),1000) setInterval(myFunction,1000) 我猜JS对前两个(字符串)使用eval()并直接调用后两个 另外,我不明白带括号和不带括号的调用之间的区别。带括号的直接调用它,然后定期调用它的返回值?正确;前两种方法使用eval,必须不
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
,就像调用任何其他函数一样。因此,如果我想使用setInterval
,它应该以立即调用给定函数开始,我使用括号。如果我不想称之为正确的,知道,但在给定的时间内,我使用它没有。对吗?@Warren:setInterval(myFunction(),1000)
只有在myFunction
返回不同的函数时才有意义。否则,您将把undefined
传递到setInterval
。