为什么在循环终止之前执行下面的循环语句

时间:2011-04-22 06:07:06

标签: javascript

我想知道为什么在打印所有值之前我会收到警报

<script>
    for(var i=0; i<=1000; i++)
    {
        console.log(i);
    }
    alert('Hello');
</script>

5 个答案:

答案 0 :(得分:3)

它在循环之前没有执行,它正在正确执行。

您的控制台可能会很晚才恢复。

答案 1 :(得分:1)

alert()block your browser whilst waiting to be dismissed by the user

警报出现时,可能还没有写入console。这取决于您的console对象是什么。

顺便说一下,在OS X上我的Chrome 10中的警报之前,它们在控制台中看起来很好。

答案 2 :(得分:1)

控制台落后了。首先执行循环 。这表明它更好:

var t = [];
for(var i=0; i<=1000; i++)
{
    t.push(i);
}
console.log(t.length);
alert('Hello');

答案 3 :(得分:0)

你是如何执行的?在显示所有数字之前,我的控制台不会显示警报。你的必须懒洋洋地渲染输出。因此循环在警报之前完成,但日志只写入缓冲区。

答案 4 :(得分:0)

<script>
INSTRUCTION A;
INSTRUCTION B;
INSTRUCTION C;
</script>

在javascript中,INSTRUCTION B的执行不依赖于A的完成以及C的类似情况。

您可能想要尝试以下内容:

var test = 0;
var i=0;
while(test!=1) {
  console.log(i);
  i++;
  if(i==1000) {
    alert("Hi!");
    test=1;
  }
}