自增:通过自增运算符可以使变量在自身的基础上加一。
自增符号:++
自增分为:
- 前自增(++a);
var a, b;
a = 10;
b = 20;
// ++在前,变量先自增,然后再参与其他运算
let res = (++a) + (++b);
console.log(res); // 32
console.log(a); // 11
console.log(b); // 21
- 后自增(a++);
let a,b;
a= 10;
b=20;
//++在后,变量先参与其他运算,然后再自增
let res = (a++) + (b++);
console.log(a);//11
console.log(b);//21
console.log(res); //30
区别
- 共同点:a++和++a对于原变量来说是没有区别,都是使用原变量的值自增一;
- 不同点:a++和++a的值不同,a++的值等于原变量的值(自增前的值),++a的值等于原变量自增厚的新值。
自减
通过自减可以使变量在自身的基础上减一;
自减符号:-
自减分为: - 前自减(-a);
let a, b;
a = 10;
b = 20;
// -- 在前, 变量先自减, 然后再参与其它运算
res = (--a) + (--b);
console.log(res); // 28
console.log(a); // 9
console.log(b); // 19
- 后自减(a-);
let a, b;
a = 10;
b = 20;
// -- 在后, 变量先参与其它运算, 然后再自减
res = (a--) + (b--);
console.log(res); // 30
区别
- 相同点:a--和--a都会立即使原变量的值自减一;
- 不同点:a--和--a的值不同,a--是变量的原值(是自减前的值),--a是原变量的新值(自减后的值);
最后一道题
let a, b;
a = 10;
b = 20;
//--在前,变量先自减,然后再参与其它运算
//-- 在后, 变量先参与其它运算, 然后再自减
res = (--a) + (b--);
console.log(res); //29
console.log(a); //9
console.log(b); //19