[英]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.