Javascript 为什么我的while循环会以这种方式记录?

Javascript 为什么我的while循环会以这种方式记录?,javascript,v8,console.log,spidermonkey,Javascript,V8,Console.log,Spidermonkey,为什么我的while循环会以这种方式记录?是因为V8和SpiderMonkey的内部工作方式不同吗 var counter = 0; while (counter <= 10) { console.log(counter); counter++; } 注意:在Chrome和Firefox控制台中尝试上述代码 这些是我在执行上述代码时得到的结果 镀铬: 在Firefox中: 为什么记录的结果不同?这是怎么回事?是的,内部工作方式不同。我相信您在这里注意到的差异实际上是因为在

为什么我的while循环会以这种方式记录?是因为V8和SpiderMonkey的内部工作方式不同吗

var counter = 0;
while (counter <= 10) {
    console.log(counter);
    counter++;
}
注意:在Chrome和Firefox控制台中尝试上述代码

这些是我在执行上述代码时得到的结果

镀铬:

在Firefox中:


为什么记录的结果不同?这是怎么回事?

是的,内部工作方式不同。我相信您在这里注意到的差异实际上是因为在WebKit浏览器中,如Chrome和Safari,console.log是异步的,而在Firefox和Node.js中,它是严格同步的

我首先在Trevor Burnham的书Async JavaScript中读到了这一点。你可以找到这本书的相关章节,相关页面应该是顶部的第一个响应

WebKit的console.log通过异步行为让许多开发人员感到惊讶

要帮助理解发生了什么,请尝试将其输入控制台:

变量计数器=0
当计数器是时,内部工作方式不同。我相信您在这里注意到的差异实际上是因为在WebKit浏览器中,如Chrome和Safari,console.log是异步的,而在Firefox和Node.js中,它是严格同步的

我首先在Trevor Burnham的书Async JavaScript中读到了这一点。你可以找到这本书的相关章节,相关页面应该是顶部的第一个响应

WebKit的console.log通过异步行为让许多开发人员感到惊讶

要帮助理解发生了什么,请尝试将其输入控制台:

变量计数器=0
然而,你的问题的标题是模糊的,其他人很难找到并帮助回答。考虑重新定义你的问题来定义它是什么,同时也把你的猜测从标题转移到问题的正文。复制粘贴与链接到外部图像相比也更好。但是这里的上下文需要用图像来解释。抱歉,虽然我是新来的Stackoverflow@GiftedGeek只是想让您知道,您可以将图像复制到剪贴板,然后将其粘贴到问题本身,就像编辑问题后显示的那样。这是首选的方法,所以人们不必为了理解问题而离开这个问题,然后又回到原来的位置。谢谢你让我知道Stephen,我们会这样做的!您问题的标题含糊不清,其他人很难找到并帮助您提供答案。考虑重新定义你的问题来定义它是什么,同时也把你的猜测从标题转移到问题的正文。复制粘贴与链接到外部图像相比也更好。但是这里的上下文需要用图像来解释。抱歉,虽然我是新来的Stackoverflow@GiftedGeek只是想让您知道,您可以将图像复制到剪贴板,然后将其粘贴到问题本身,就像编辑问题后显示的那样。这是首选的方法,所以人们不必为了理解问题而离开这个问题,然后又回到原来的位置。谢谢你让我知道Stephen,我们会这样做的!太棒了,谢谢Stephen帮我解决这个问题,谢谢!现在我对JS引擎有了更多的了解。顺便说一句,JavaScript很有趣!要挖得更深!!!很高兴帮助@GiftedGeek!你说得对,JavaScript很有趣。它是一种具有大量有趣特性的语言,而且一直在变得更好。很高兴我能在JavaScript之旅中为您提供帮助。是的,很有趣,斯蒂芬!再次感谢!太棒了,谢谢Stephen帮我解决这个问题,谢谢!现在我对JS引擎有了更多的了解。顺便说一句,JavaScript很有趣!要挖得更深!!!很高兴帮助@GiftedGeek!你说得对,JavaScript很有趣。它是一种具有大量有趣特性的语言,而且一直在变得更好。很高兴我能在JavaScript之旅中为您提供帮助。是的,很有趣,斯蒂芬!再次感谢!