我可能在这里有点厚,但请回答我.请考虑以下代码:
a=1; while(a<=6) { console.log(a); a++; }
如果我运行这个,我在控制台中从1到6获得值,然后是另一个6.
现在看看这个:
a=1; while(a<=6) { console.log(a); ++a; }
现在运行它将获得从1到7的值.
为什么会这样?我的理解是语句块只有在表达式求值为true时才会运行.在我的第二个例子中,这怎么可能呢?为什么6在第一次出现两次?对我来说很困惑.
如果你能简单地解释(我还在学习),这将是伟大的.
解决方法
控制台为您打印评估的最后一个语句的值.在第二种情况下,您预先递增,因此它的值是7而不是第一个中的6.
改变你的console.log()调用打印更多的东西,这是显而易见的:
console.log("a is: " + a);
您不会在最后一行看到该前缀.