增量总和的意外结果

时间:2021-06-23 19:03:29

标签: javascript increment

下午好,请解​​释为什么,等待3时,4输出到控制台。

let x = 1;
console.log (x++ + ++x) // 4

一开始我以为是操作的优先级,但是为什么在这样的例子中输出8,而不是例如6?

let x = 1;
console.log (x++ + ++x + ++x) // 8

抱歉,如果此问题重复,但我找不到有关此问题的任何信息。

2 个答案:

答案 0 :(得分:4)

对于第一个例子:

let x = 1;
console.log (x++ + ++x) // 4

  1. x++ 返回 x (1) 的值,然后将其递增。 x 现在是 2。 (这是后缀增量。)
  2. ++x 递增 x 的值并返回它,即 3 (2 + 1)。 (这是前缀增量。)
  3. 1 + 3 = 4

Increment Operator

答案 1 :(得分:0)

x++x-- 首先使用然后更新
++x--x 首先更新,然后使用

update 表示更新变量 x 的值。