【发布时间】:2012-12-28 12:34:00
【问题描述】:
我很难理解增量运算符。此运算符将其操作数递增(加一)并返回一个值。我在操作数 (x++) 之后使用了带有运算符的后缀,因此它在递增之前返回值。
所以如果 x 为 3,则语句 y = x++ 将 y 设置为 3 并将 x 递增为 4
var x = 3;
var y = x++;
console.log(x); // 4
console.log(y); // 3
我不明白为什么 y 不保存值 4 而是设置为 3,以及为什么 x 在分配值为 3 时保存值 4。
【问题讨论】:
-
x++在变量赋值后执行。所以y得到x的值,即3。然后x的值增加1。留下x = 4和y = 3。 -
来自MDN docs: "这个操作符递增(加一)它的操作数并返回一个值。如果使用后缀,操作数后面有操作符(例如,x++),那么它在递增之前返回值。[...]" ...现在清楚还是您正在努力解决?
-
我建议你听从 Douglas Crockford 的建议,避免使用递增和递减运算符jslint.com/lint.html#inc
标签: javascript