【问题标题】:Unexpected result of increments sum增量总和的意外结果
【发布时间】:2021-09-07 08:35:58
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • x++ + ++x 是 1 + 3,也就是 4。x++ + ++x + ++x 是 1 + 3 + 4,也就是 8。你知道前后增量的区别吗?
  • x++ 在调用后给 x 加 1,所以当你调用下一个 ++x 时,它真的是 ++(x+1)
  • 是的,我知道增量,但我错过了,我们使用 X 变量进行操作)

标签: javascript increment


【解决方案1】:

第一个例子:

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

【讨论】:

  • 天哪,这太容易了...感谢您的解释。
【解决方案2】:

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

update 表示更新变量x的值。

【讨论】:

    猜你喜欢
    • 2013-05-24
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    相关资源
    最近更新 更多