【发布时间】:2015-11-10 16:39:26
【问题描述】:
我希望在激活函数(称为update)时通过模式0、1、2、0、1、2……循环变量的值(称为x)。我已经设法得到 1, 2, 0, 1, 2, 0, ... 通过这样做:
var x = 0;
function update() {
x = ++x % 3;
}
然后我尝试了后自增运算符,x 的值只是保持在 0:
var x = 0;
function update() {
x = x++ % 3;
}
然后我越想这段代码,我就越困惑。我认为首先完成 0 模 3,然后将(0)分配给 x,但随后 x 没有增加到 1? (似乎不是,但这不是我想要的——我希望模式从 0 开始。有人可以解释这段代码发生了什么以及如何实现从 0 开始的模式吗?
【问题讨论】:
-
简单的
x = (x+1) % 3;怎么样?我认为写x = x++真的很奇怪......因为从逻辑上讲,x++将被执行,它会返回x的先前值并将其分配给x,它的初始值,所以对我来说,@987654333 @ 应与x = x % 3相同。
标签: javascript increment