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

标签 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;

最佳答案

这与您放置++ 的位置有关。++ 的工作方式(这只是它的语法)是,如果您在 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/

相关文章:

javascript - 紫藤背景视频

具有多个元素的 Javascript document.getElementById()

c++ - 一元增量运算符的原子行为

javascript - 根据级别数组协调两个范围输入

java - 按钮单击 JSF 2.2 时 bean 中的实例变量增量

javascript - MEAN.js 的顶栏菜单 : Using icon/image instead of text for title

javascript - js函数在条件满足时不返回

c++ - c++中的i+++增量是什么

javascript - 如何使用 onclick 增加 JavaScript 变量并环绕 JavaScript 数组?

javascript - 使用 Javascript 追加到文本区域的一行