javascript while循环在节点和浏览器中给出不同的结果

2024-05-06

我正在执行以下看似简单的代码

var number = 0;
while (number <= 12) {
    console.log(number);
    number = number + 2;  
}

我在浏览器和 Node 中得到不同的结果。 当我在 Firefox(v. 32.0.3) 上的 Firebug(v 2.0.4 ) 控制台中运行它时,我得到的结果是

0 2 4 6 8 10 12 14

这不是我期望的结果。

在 Node 中,相同的代码给出了正确的答案:

0 2 4 6 8 10 12

关于浏览器中的行为我有什么遗漏吗???

提前致谢。


如果你稍微改变你的代码:

CHROME

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 中,它运行整个循环,打印结果,然后赶上控制台。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javascript while循环在节点和浏览器中给出不同的结果 的相关文章

随机推荐