賦值運算符
簡單賦值運算符: =
復(fù)合賦值運算符: +=、-=、*=、/=、%=
簡單賦值運算符
格式: 變量 = 數(shù)據(jù);
// 將等號右邊的常量10賦值給左邊的變量num
var num = 10;
// 將等號右邊的變量num中存儲的值賦值給左邊的變量value
var value = num;
賦值運算符左邊只能是變量
10 = 20; // 錯誤寫法
var num = 10;
20 = num; // 錯誤寫法
多個賦值運算符可以組成 賦值表達(dá)式, 賦值表達(dá)式具備右結(jié)合性
// 從右至左計算
// 先將10賦值給變量c, 然后將變量c中存儲的值賦值給變量b
// 然后將變量b中存儲的值賦值給變量a, 最后a,b,c存儲的都是10
a = b = c = 10;
復(fù)合賦值運算符:
+= 加后賦值 變量+=表達(dá)式 如:a+=3;即a=a+3
-= 減后賦值 變量-=表達(dá)式 如:a-=3;即a=a-3
= 乘后賦值 變量=表達(dá)式 如:a=3;即a=a3
/= 除后賦值 變量/=表達(dá)式 如:a/=3;即a=a/3
%= 取模后賦值 變量%=表達(dá)式 如:a%=3;即a=a%3
復(fù)合賦值表達(dá)式運算
格式: 變量 復(fù)合賦值運算符 表達(dá)式; 如: a *= 1 + 2;
由于賦值運算符是右結(jié)合性, 所以會先計算等號右邊, 然后再進(jìn)行復(fù)合運算
var value = 5;
value *= 2 - 2; // 等價于 value = 5 * (2 - 2);
console.log(value); // 0
// 設(shè)想如果先計算復(fù)合運算符結(jié)果是什么?
value = (5 * 2) - 2 = 10 - 2 = 8
自增運算符
自增、自減運算符介紹
在程序設(shè)計中,經(jīng)常遇到“i=i+1”和“i=i-1”這兩種極為常用的操作。
JavaScript語言為這種操作提供了兩個更為簡潔的運算符,即++和--,分別叫做自增運算符和自減運算符。
自增、自減運算符求值過程
無論運算符號在前還是在后, 變量在自身基礎(chǔ)上都會改變
var num = 1;
num++; // 等價于 num = num + 1;
console.log(num); // 2
num = 1;
++num;
console.log(num); // 2
num = 1;
num--; // 等價于 num = num - 1;
console.log(num); // 0
num = 1;
--num;
console.log(num); // 0
后綴表達(dá)式:x++, x--; 先用x的當(dāng)前值作為表達(dá)式的值,再進(jìn)行自增自減1運算。即“先用 后變”,也就是先用變量的值參與運算,變量的值再進(jìn)行自增自減變化。
var a, b;
a = 10;
b = 20;
// ++ 在后, 變量先參與其它運算, 然后再自增
var res = (a++) + (b++);
console.log(res); // 30
a = 10;
b = 20;
// -- 在后, 變量先參與其它運算, 然后再自減
res = (a--) + (b--);
console.log(res); // 30
console.log(a); // 9
console.log(b); // 19
前綴表達(dá)式:++x, --x; 其中x表示變量名,先完成變量的自增自減1運算,再用x的值作為表 達(dá)式的值;即“先變后用”,也就是變量的值先變,再用變量的值參與運算。
var a, b;
a = 10;
b = 20;
// ++ 在前, 變量先自增, 然后再參與其它運算
res = (++a) + (++b);
console.log(res); // 32
console.log(a); // 11
console.log(b); // 21
a = 10;
b = 20;
// ++ 在前, 變量先自增, 然后再參與其它運算
res = (--a) + (--b);
console.log(res); // 28
console.log(a); // 9
console.log(b); // 19
練習(xí)
求i和j最后的結(jié)果
i=1;
i++;
j = i++ ;
j =++i ;
j = i--;
求p和q最后的結(jié)果
var i = 5, j = 5, p, q;
p=i++ + i++ + i++;
q = ++j + ++j+ ++j;
作者:極客江南
鏈接:http://www.itdecent.cn/p/cd5c35d72215
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。