Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
setTimeout函数执行代码时没有任何延迟。Javascript_Javascript_Html_Function_Sleep - Fatal编程技术网

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

setTimeout函数执行代码时没有任何延迟。Javascript,javascript,html,function,sleep,Javascript,Html,Function,Sleep,有人能解释为什么会发生这种情况吗。我在JS中创建了一个函数,并尝试在60秒后使用setTimeout函数调用它。但它会在页面加载后立即运行。为什么会发生这种情况,并且setTimeout没有延迟功能代码?下面是代码 <script> function first() { document.getElementById('addProductText').style.color="#32A067"; } setTimeout(first(),60000); </scrip

有人能解释为什么会发生这种情况吗。我在JS中创建了一个函数,并尝试在60秒后使用setTimeout函数调用它。但它会在页面加载后立即运行。为什么会发生这种情况,并且setTimeout没有延迟功能代码?下面是代码

<script>

function first()
{

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

}
setTimeout(first(),60000);

</script>

函数优先()
{
document.getElementById('addProductText').style.color=“#32A067”;
}
setTimeout(first(),60000);

您应该只传递函数的
名称,而不调用它:

函数优先(){
log(“你好”)
}

设置超时(第一个,60000)使用不带括号的函数调用
()

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

工作示例:

函数优先(){
document.getElementById('addProductText').style.color=“#32A067”;
}
setTimeout(第一个,6000)

你好,世界谢谢塔马斯。明白了:)实际上,您不必给出函数的名称,您还有另一种选择,可以在调用目标函数之前提供一个操作多条指令的函数。请看,为了防止过早调用,重要的是提供函数的引用,不管它是目标函数还是匿名函数。
setTimeout(first, 6000);