JavaScript setTimeout()是否会等待执行?

考虑以下示例:


<script type="text/javascript">

    function alertBox(){

        alert('Hello World!');

    }

    function doSomething(){

        setInterval(alertBox(), 5000); //This is for generic purposes only

    };

    function myFunction(){

        setTimeout(doSomething(),3000);

    };


    myFunction();

</script>

是什么导致该执行立即,而不是等待3秒为单位设置,以及只执行警戒ONCE,而不是在计划每隔5秒?


感谢您的任何帮助,您可以提供!


慕桂英546537
浏览 1390回答 2
2回答

慕田峪7331174

alertBox()这看起来不像立即调用函数吗?尝试传递函数(不执行):setInterval(alertBox, 5000);

侃侃尔雅

这是因为您正在执行功能,而不是传递功能对象。function myFunction(){&nbsp; &nbsp; setTimeout(doSomething, 3000); // no () on the function};
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript