javascript while循环在节点和浏览器中给出不同的结果
javascript while loop giving different results in node and browser
我正在执行以下看似简单的代码
var number = 0;
while (number <= 12) {
console.log(number);
number = number + 2;
}
我在浏览器和Node中得到了不同的结果。当我在Firefox(v.32.0.3)上的Firebug(v.2.0.4)控制台中运行它时,我得到的结果是
02.4.6.8.101214
这不是我所期望的结果。
在Node中,相同的代码给了我正确的答案,那就是
02.4.6.8.1012
关于浏览器中的行为,我有什么遗漏吗???
提前谢谢。
如果您稍微更改代码:
铬
var number = 0;
while (number <= 12) {
console.log("z" + number);
number = number + 2;
}
z0
z2
z4
z6
z8
z10
z12
14
您将看到循环没有打印14
。相反,当循环结束运行并由控制台本身打印时,这是表达式的结束值。
FIREFOX
while (number <= 12) {
console.log("z" + number);
number = number + 2;
}
14
"z0"
"z2"
"z4"
"z6"
"z8"
"z10"
"z12"
在Firefox中,它运行整个循环,打印结果,然后赶上控制台。
如果在Firebug的控制台中运行脚本,它将评估代码。因此,它正在评估while循环中最后一个数字的值(现在是14),并将其打印出来。它实际上将number
的值打印了8次,但将它们分组为1次打印。
只需在命令行中键入"window"即可看到相同的效果。它正在评估它的价值,并在控制台中打印出来。
更多信息可以在Firebug命令行的描述中找到。
相关文章:
- javascript Ajax方法在不同的浏览器中有不同的结果
- 无法从IE中的data.responseText获取结果,但在其他浏览器中工作
- HTML
“width” 属性在不同的浏览器中产生不同的结果 - 在浏览器上显示实习运行程序功能测试的结果
- Javascript 不工作,结果打印后浏览器仍在加载
- 使用 JSON 和 ExtJS 将 MPDF 结果返回给浏览器
- localStorage.getItem() 在不同的浏览器中给出不同的结果
- 在IE浏览器中显示结果
- 使用 JavaScript 在浏览器中解析 grep 的结果
- eval 返回未定义,浏览器返回结果
- 火狐浏览器上的函数表达式 - 不是预期的结果
- 日期格式在 Chrome 中给出的结果与其他浏览器中的结果不同
- 浏览器下载 JSON 结果,而不是传递回脚本
- 为什么 JQuery 自动完成结果没有显示在浏览器中
- AJAX 返回的结果与浏览器不同
- 为什么 dojo.number.format 在不同的浏览器中返回不同的结果
- Javascript中这些日期之间的区别?为什么不是所有的浏览器都给出相同的结果
- 谷歌浏览器开发人员工具 - 分析结果文件格式
- 在浏览器控制台上获得未定义的结果
- 提交表单时浏览器中显示的JavaScript代码,而不是脚本的结果