var a = 0;
(++a)+(a++)+(++a);
print(a);
这打印3.我假设它只执行单个增量。
var a = 0;
(++a)+(a++)+(--a);
这打印1.这里遵循的规则是什么?
谢谢。
答案 0 :(得分:6)
您没有将添加结果分配给任何内容。你这样做:
(++a)+(a++)+(++a);
增加a
3次。 0 + 3 = 3
所以a
是值3。
答案 1 :(得分: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
完成其中之后,生成的a
为2
。