在javascript中的alert()中放入一个运算符



我正在学习关于javascript.info的循环教程,我很困惑为什么会发生以下情况:

let i = 3;
while (i) alert(i--);

结果:3、2和1

为什么第一个结果是3而不是2?

谢谢。

您正在使用递减(--(运算符

这就是MDN文档所说的

如果使用后缀,在操作数后面加运算符(例如,x--(递减运算符递减并返回之前的值递减。

如果使用前缀,在操作数之前加上运算符(例如--x(递减运算符递减并返回之后的值递减。

您看到的是递减前的值,这就是它的工作原理。如果您想要其他方式,请使用--i

--运算符的工作方式有两种。

以下代码在运行完后将减少1:

let i = 3;
while (i) alert(i--); //3

以下代码在运行之前将减少1:

let i = 3;
while (i) alert(--i); //2

我还建议在循环中而不是在警报中执行此操作。

示例:

let i = 3;
while (--i >= 0) alert(i); //2

相关内容

最新更新