次のコードは、1 秒ごとに日付を表示して停止します。
(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
実行されるのですか?setInterval
は1 秒ごとに実行され、他に何も実行できないと想定されていませんか? (上記のコードは書かれた順序で実行されますか?) ありがとうございます。