我不明白为什么变量y等于4?

时间:2019-10-09 23:54:29

标签: javascript increment

我在某种程度上理解了注释中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;

1 个答案:

答案 0 :(得分:2)

这与放置++的位置有关。 ++的工作方式(仅是它的语法)是,如果在x之后使用它,代码将使y变量递增,但是表达式在递增x之前将返回值(因此它将仅返回的值)。 X)。您想要的是递增首先发生。因此,下面的代码应该在增加值时起作用,因为它将首先增加,然后返回变量。

let x = 3;
let y = ++x;
y += 1;

console.log(y); // Returns 5