为什么重复调用函数比3秒后重复调用?
<button onclick="myFunction()">Try it</button>
<script>
function myFunction()
{
alert("hello");
setTimeout(myFunction(),3000);
// setTimeout(function(){ alert("Hello") }, 3000);
}
</script>
Run Code Online (Sandbox Code Playgroud)
您正在myFunction立即调用,然后将其返回值(undefined)传递给setTimeout
删除,()以便您传递函数而不是调用它.
更改:
setTimeout(myFunction(),3000);
Run Code Online (Sandbox Code Playgroud)
至:
setTimeout(myFunction,3000);
Run Code Online (Sandbox Code Playgroud)