setTimeout 函数执行代码没有任何延迟。 Javascript [重复]
Posted
技术标签:
【中文标题】setTimeout 函数执行代码没有任何延迟。 Javascript [重复]【英文标题】:setTimeout function executing code without any delay . Javascript [duplicate] 【发布时间】:2020-07-22 05:55:28 【问题描述】:谁能解释为什么会这样。我在 JS 中创建了一个函数,并尝试在 60 秒后使用 setTimeout 函数调用它。但它会在页面加载后立即运行。为什么会发生这种情况并且 setTimeout 没有延迟功能代码?下面是代码。
<script>
function first()
document.getElementById('addProductText').style.color="#32A067";
setTimeout(first(),60000);
</script>
【问题讨论】:
【参考方案1】:使用不带括号的函数调用()
:
setTimeout(first, 6000);
这样你是在引用函数,而不是立即调用它。
工作示例:
function first()
document.getElementById('addProductText').style.color = "#32A067";
setTimeout(first, 6000);
<div id="addProductText">Hello World!</div>
【讨论】:
感谢塔马斯。明白了:)【参考方案2】:你应该只传递name of the function
而不调用它:
function first()
console.log("Hello")
setTimeout(first, 60000);
【讨论】:
您实际上不必给出函数的名称,您还有另一种选择,它也可以在调用目标函数之前提供一个操作多个指令的函数。见repl.it/repls/BelovedShallowBusinesssoftware 为了防止过早调用,重要的是你给出一个函数的引用,无论它是目标函数还是匿名函数。以上是关于setTimeout 函数执行代码没有任何延迟。 Javascript [重复]的主要内容,如果未能解决你的问题,请参考以下文章