IlyaDrummer Asked:2020-07-24 12:12:37 +0000 UTC2020-07-24 12:12:37 +0000 UTC 2020-07-24 12:12:37 +0000 UTC 看不懂 JS 任务 772 我不明白为什么结果是8,请解释一下。 var a = 1,x; x = ++a + ++a; x +=a; console.log(x); // 8 javascript 1 个回答 Voted Best Answer Haku Kimura 2020-07-24T12:30:44Z2020-07-24T12:30:44Z 一开始,我们将a值1分配给变量。 之后,我们增加2 次(在您的情况下,使用前缀形式): 第一次++a- 增加a1,我们得到2, 第二个++a- 增加a1,我们得到3, 将结果值相加,得到5并将此值写入变量x。 符号x += a等价于x = x + a,x我们有5,a,在最后一个增量之后,是3。结果,我们得到值8。 还值得一提的是,前缀自增/自减的优先级高于加法运算符,因此自增将在总和之前执行。
a
值1分配给变量。++a
- 增加a
1,我们得到2,++a
- 增加a
1,我们得到3,x
。x += a
等价于x = x + a
,x
我们有5,a
,在最后一个增量之后,是3。结果,我们得到值8。还值得一提的是,前缀自增/自减的优先级高于加法运算符,因此自增将在总和之前执行。