自增:通過自增運算符可以使變量在自身的基礎上加一。
自增符號:++
自增分為:
- 前自增(++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