簡體   English   中英

為什么循環下面的語句在循環終止之前執行

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

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