setTimeout 函数执行代码没有任何延迟。 Javascript

setTimeout function executing code without any delay . Javascript

任何人都可以解释为什么会这样。我在 JS 中创建了一个函数,并尝试在 60 秒后使用 setTimeout 函数调用它。但它在页面加载后立即运行。为什么会出现这种情况,setTimeout 没有延迟函数代码?下面是代码。

<script>

function first()
{

document.getElementById('addProductText').style.color="#32A067";

}
setTimeout(first(),60000);

</script>

您应该只传递 name of the function 而不要调用它:

function first(){
     console.log("Hello")
}
setTimeout(first, 60000);

使用不带括号的函数调用 ():

setTimeout(first, 6000);

这样您就可以引用该函数,而不是立即调用它。

工作示例:

function first() {
  document.getElementById('addProductText').style.color = "#32A067";
}
setTimeout(first, 6000);
<div id="addProductText">Hello World!</div>