下面的输出结果是什么?
var x = 2;
console.log(x+++x);
后缀式运算符是在计算过包含它们的表达式后才进行增量或减量运算的
var x = 2;
// x++ === 2 true 若为 ++x === 3 true
x++ + x; // 2 + 3 === 5 true
5
var x = 2;
console.log(x);//2
console.log((x++)+x);//5
console.log(x);//3
实际上考的是x++
和++x
的区别
console.log(++x+x)//6
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
等价于
主要是以下两点:
运算符优先级关系:
++
>+
,这就是为什么不理解成x + ++x
的原因,当然在这里的结果凑巧是一样的。前自增和后自增的区别:
x++
和++x
的区别,C语言里面也有。可以尝试输入以下例子对比:更形象的例子: