![](/img/trans.png)
[英]Why does my setInterval loop go another round before exiting even though I have the termination in the beginning
[英]why does statement below loop executes before termination of loop
我想知道為什么在打印所有vlaues之前我會收到警報
<script>
for(var i=0; i<=1000; i++)
{
console.log(i);
}
alert('Hello');
</script>
好吧,它不是在循環之前執行,而是在正確執行。
您的控制台可能刷新得有點晚。
alert()
將在阻止用戶瀏覽器的同時阻止您的瀏覽器 。
警報出現時,可能尚未將它們寫入console
。 這取決於您的console
對象是什么。
順便說一句,在OS X上我的Chrome 10中,在警報出現之前,它們在控制台中看起來還不錯。
控制台落后。 循環首先執行。 這顯示得更好:
var t = [];
for(var i=0; i<=1000; i++)
{
t.push(i);
}
console.log(t.length);
alert('Hello');
您如何執行此操作? 在顯示所有數字之前,我的控制台不會顯示警報。 您必須懶惰地渲染輸出。 因此,循環確實在警報之前完成,但日志僅寫入了緩沖區。
<script>
INSTRUCTION A;
INSTRUCTION B;
INSTRUCTION C;
</script>
在javascript中,指令B的執行不依賴於A的完成,對於C也是類似的。
您可能想嘗試類似的方法:
var test = 0;
var i=0;
while(test!=1) {
console.log(i);
i++;
if(i==1000) {
alert("Hi!");
test=1;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.