为什么setTimeout会立即运行我的函数?
使用setTimeout时,可能会遇到忽略指定等待时间的场景,导致立即执行的函数。此行为是由于所使用的语法中的常见误解而引起的。
陷阱:
下面的代码片段演示了该问题:
setTimeout(testfunction(), 2000);
说明:
代码中,使用括号立即调用 testfunction()。这意味着setTimeout被安排等待testfunction()的结果,该结果是瞬时执行的。
解决方案:
要确保setTimeout等待期望的结果在执行函数之前的时间,请改用以下语法:
setTimeout(testFunction, 2000);
注意后面没有括号测试函数。通过省略括号,您可以传递对函数本身的引用,而不是调用它的结果。
以上是为什么我的'setTimeout”函数立即运行?的详细内容。更多信息请关注PHP中文网其他相关文章!