自增和自减
基本功能
一元运算符
++:将某个变量的值自增1
–:将某个变量的值自减1
细节
自增自减表达式
x++: 将变量x自增1,得到的表达式的值是自增之前的值。
++x: 将变量x自增1,得到的表达式的值是自增之后的值。
x–: 将变量x自减1,得到的表达式的值是自减之前的值。
–x: 将变量x自减1,得到的表达式的值是自减之后的值。
优先级
从高到底依次是:
++ --
* / %
+ -
优先级的运算细节:
- 从左到右依次查看
- 如果遇到操作数,将数据的值直接取出
- 如果遇到相邻的两个运算符,并且左边的运算符优先级大于等于右边的运算符,则直接运行左边的运算符。
通过以下代码掌握自增自减
var x = 1;
var y = x + x++ * ++x;
// 1+1*3
console.log(y);
//结果:4
var q = 1;
var p = q + ++q * ++q + q;
// 1+2*3+3 最后一个q在最后所以后面赋值
console.log(p);
// 结果:10
var a = 1;
var b = a++ + ++a + a++ * ++a + ++a;
//1+3+3*5+6
console.log(b);
// 25
var j = 1;
var k = j + j++ * (j = j + j++ * ++j) + j;
// 1+1*(j=2+2*4)+10
// 不能用数学计算的逻辑运算,先从左运算遇到小括号才算括号 小括号内为赋值表达式 所以最后一个x为10
console.log(k);