同步线程firefox中的控制台行为

时间:2017-11-16 23:57:52

标签: javascript execution synchronous console.log

我的问题是关于我在下面显示的代码(我知道这是一个糟糕的代码,因为我用了一段时间)。

我在执行脚本时期望这个输出顺序:
1.显示 Hello 消息 2. Javascript进程为3000毫秒 3.消息约。显示已用时间3000

但是会发生什么:
1.浏览器阻塞3000毫秒 2.显示 Hello 消息 3.消息约。显示已用时间3000

我一直在阅读一些东西,他们表示开发者工具扩展程序在另一个线程中运行,但这仍然无法解释为什么它的行为与其他语言(如C#)不同。例如。
谢谢您的帮助。

<script type="text/javascript">
    console.log("Hello");
    var start = new Date().getTime();
    var now = new Date().getTime();
    var diff_time = now-start;
    while (diff_time<3000){
        now = new Date().getTime();
        diff_time = now-start;
    }
    console.log("aprox. elapsed time 3000");
</script>

0 个答案:

没有答案