运算符的优先级决定了表达式中运算执行的先后顺序,即优先级高先执行
1. 前自增:算数运算符优先于赋值运算符,先执行++操作,再执行赋值操作
var a = 1 ;
var b = ++a ;// a = a+1, b =a
console.log(a);// 2
console.log(b); //2
2. 后自增:赋值运算符优先于算数运算符,先执行赋值操作,再执行++操作
var a =1;
var b = a++ ;// b =a , a = a +1
console.log(a);//2
console.log(b);//1
3. 面试题1:
var a =1;
var b = ++a + ++a ;//
console.log(a);//3
console.log(b);//5
这里相当于
var a = 1;
a = a + 1 // a = 1+1 =2;
a = a + 1 // a = 2+1 =3;
var b = 2+3 = 5;
考察点:当两个自增运算结合着普通运算时,先把两个自增运算完成,再执行普通运算
4. 面试题2:
var a = 1 ;
var b= ++a + a++;
console.log(a);//3
console.log(b);//4
这里相当于
var a = 1 ;
a = a+1 ;// a = 1+1 =2;
a++;//->a =1 ;先赋值后计算
a = 2 +1 = 3;
var b = 2 +2 = 4;//