我在这里可能有点厚,但请回答我这个问题。考虑以下代码:
a=1;
while(a<=6) {
console.log(a);
a++;
}
如果我运行它,我会在控制台中获得从 1 到 6 的值,然后是另一个 6。
现在看看这个:
a=1;
while(a<=6) {
console.log(a);
++a;
}
现在运行它会得到从 1 到 7 的值。
为什么会这样?我的理解是语句 block 只有在表达式的计算结果为真时才会运行。在我的第二个例子中这怎么可能?为什么 6 在第一个出现两次?我很困惑。
如果你能简单地解释一下(我还在学习)那就太好了。
最佳答案
控制台为您打印最后一条语句的计算值。在第二种情况下,您预递增,因此它的值为 7 而不是第一种情况下的 6。
更改您的 console.log()
调用以打印更多内容,这将是显而易见的:
console.log("a is: " + a);
您不会在最后一行看到该前缀。
关于javascript - 对javascript中的while循环感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211537/