0
var a = 0;
(++a)+(a++)+(++a); 
print(a);

这将打印 3。我假设它只执行单个增量。

var a = 0;
(++a)+(a++)+(--a); 

这将打印 1. 这里要遵循的规则是什么?

谢谢你。

4

2 回答 2

6

您没有将添加的结果分配给任何东西。你来做这件事:

(++a)+(a++)+(++a); 

增加a3倍。 值 3 也是0 + 3 = 3 如此。a

于 2013-05-04T00:52:36.953 回答
1

JavaScript从左到右执行。您可以通过查看使用乘法时发生的情况来了解这一点

a = 1;
   ++a *   a; // 4
//   2 *   2  =  4

a = 1;
     a * ++a; // 2
//   1 *   2  =  2

a = 1;
   a++ * a  ; // 2
// 1   * 2    =  2

a = 1;
   a   * a++; // 1
// 1   * 1    =  1

在每一个之后,结果a2

于 2013-05-04T01:25:02.290 回答