首页 > web前端 > js教程 > 为什么 `setTimeout` 立即执行我的函数?

为什么 `setTimeout` 立即执行我的函数?

Linda Hamilton
发布: 2024-12-22 06:38:13
原创
934 人浏览过

Why Does `setTimeout` Execute My Function Immediately?

为什么 setTimeout() 函数会立即执行?

在 JavaScript 中使用 setTimeout 时,您可能会遇到函数立即执行的问题,忽略指定的延迟。这种异常可以归因于一个常见的陷阱。

当您在 setTimeout 参数中调用该函数时,就会出现问题,如下所示:

setTimeout(testfunction(), 2000);
登录后复制

此语法立即调用 testfunction(),并且setTimeout 安排该函数调用的返回值在指定的延迟后执行。结果,函数立即运行,计时器变得多余。

要解决此问题,您应该将函数本身作为参数传递,而不调用它:

setTimeout(testFunction, 2000);
登录后复制

注意 testFunction 后面没有括号。这种方法可确保在延迟过后安排函数执行,从而使其按预期运行。

以上是为什么 `setTimeout` 立即执行我的函数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板