如果我在Chrome控制台中运行以下代码(标签道歉):
var x = 0;
theLoop:
while (1) {
if (!(x <= 2)) {
break theLoop;
}
console.log('x: ', x);
++x;
continue theLoop;
}
以下内容输出到控制台:
x: 0
x: 1
x: 2
3
已经很晚了,所以我错过了一些非常明显的东西,但是&#39; 3&#39;来自?
答案 0 :(得分:3)
不要担心:它不是一个真正的console.log,而只是显示已读取的最后一个值的浏览器(除非它被分配给var
),在这种情况下, ++x
等于3。
例如,如果在您的代码段末尾添加console.log('the end');
甚至只是0;
,则上一个日志会有所不同,但不会影响您的程序。
答案 1 :(得分:0)
默认情况下,Chrome会打印最后指定的变量,但只有在至少分配两次时才会这样,所以这样:
var x = 5;
var y = 3;
什么都没有,但是
var x = 5;
x = 4;
var y = 3;
会给你4
。
在您的情况下,它是x=3
答案 2 :(得分:0)
我也见过这样的。但该值未在应用程序中使用。 Firefox不会显示它。
答案 3 :(得分:0)
好的,3
是循环后控制台返回x
的值,原因x == 3
是显示行x: 2
之后的++x
x
}再次增加x == 3
,ergo {{1}}!