下一個代碼每隔1秒顯示一次日期,然後停止。JavaScript setInterval和setTimeout
(function() {
var i = setInterval(function() {
console.log(new Date());
}, 1000);
console.log("Hi");
setTimeout(function() {
clearInterval(i);
}, 3000);
console.log("Hola");
})();
輸出:
Hi
Hola
Wed Oct 24 2012 13:35:27 GMT+0200 (CEST)
Wed Oct 24 2012 13:35:28 GMT+0200 (CEST)
Wed Oct 24 2012 13:35:29 GMT+0200 (CEST)
但我不知道爲什麼Hi
和Hola
首先顯示。另外,爲什麼setTimeout
被執行?不應該假設每1秒執行一次setInterval
,其他任何事情都不能執行? (上面的代碼是按照寫入順序運行的嗎?) 謝謝。
所有代碼都馬上運行。 – Esailija
立即返回編號'setInterval'和'setTimeout',並繼續您的功能。其他代碼的執行將在稍後超時到期以執行您提供給這些調用的代碼時中斷。 – sje397
@ sje397正在運行的代碼不會被暫停。相反,如果javascript正在運行,那麼定時事件會被延遲。 –