我有点理解注释中为什么 y
等于 4
的原因,但我不明白为什么当变量 y
时> 是用 x++
声明的,它不会递增它并分配 3
而不是仅采用先前声明的值?
// In this line: var y = x++ the value of x is assigned to y before x is incremented,
// so y equals 3 on line 2, while x equals 4.
// Therefore on line 3, y now equals 4 instead of 5.
var x = 3;
var y = x++;
y += 1;
最佳答案
这与您放置++ 的位置有关。++ 的工作方式(这只是它的语法)是,如果您在 x 之后使用它,代码将递增 y 变量,但表达式随后返回递增 x 之前的值(因此它只会返回X)。您想要的是首先发生增量。因此,下面的代码应该可以增加值,因为它将首先增加,然后返回变量。
let x = 3;
let y = ++x;
y += 1;
console.log(y); // Returns 5
关于javascript - 我不明白为什么变量 y 等于 4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58313649/