javascript - 对javascript中的while循环感到困惑

标签 javascript

我在这里可能有点厚,但请回答我这个问题。考虑以下代码:

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/

相关文章:

javascript - 使用 JavaScript 将 ajax 日历值转换为文本框模糊事件中的日期时间

javascript - 每时每刻隐藏元素

javascript - JavaScript 中的 ~~ 是什么?

javascript - JavaScript 中的嵌套数组

javascript - 在初始化时全屏渲染谷歌地图

javascript - 无法使用 asp.net Web 表单中弹出的 Bootstrap 模式将数据发布到数据库

javascript - 为什么警报在 javascript +jquery 中给出未定义

javascript - 尽管 JavascriptFilteredIntoFooterHeaderResponse 将 JS 添加到 header

javascript - 带有 jquery 数组的 .grep() 只返回最后一位数字

javascript - 想要在 javascript 文件中混合服务器端 ASP.Net MVC 扩展,但是如何... RenderPartial?