setTimeout函数执行代码时没有任何延迟。Javascript
有人能解释为什么会发生这种情况吗。我在JS中创建了一个函数,并尝试在60秒后使用setTimeout函数调用它。但它会在页面加载后立即运行。为什么会发生这种情况,并且setTimeout没有延迟功能代码?下面是代码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
<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);