簡體   English   中英

正確的方法來使用JavaScript timeOut()

[英]Correct way to use javascript timeOut()

例如,如果我要格式化我的代碼,如下所示

<script type="text/javascript">
    var timeout;
    function auto() {
        $.ajax({
                url: "functions/ajax.php",
                data: "func=auto",
                type: "GET",
                dataType: "json",
                success: function(data){
                       $.each(data.search, function (i, v) {
                               console.log('Success ' + v);
                       });
                },
                error: function (jqXHR, textStatus, errorThrown){
                       console.log('Error ' + jqXHR);
                }
        });
     }

    function start() {
    timeout = setTimeout('auto()', 2000);
    }

    function stop(){
        clearTimeout(timeout);
}
</script>

我的var timeout不是由值定義是否重要? 由於實際的超時甚至都沒有處理,因此它將運行一次auto()函數,然后停止

首先,不要在setTimeout中使用引號(我不確定,但我相信會調用eval() ),只需通過引用傳遞函數即可: setTimeout(auto, 2000) ;

其次,JavaScript是一種動態類型化的語言,這意味着變量沒有固定的類型,並且它們可以根據情況而變化,因此您的代碼是完全有效的。

最后,如果您不打算在計數時中止超時,則無需清除它,因為超時將在執行后消失。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM