1.遞增與遞減操作符
- 前置遞增和遞減操作時,變量的值都是在語句被求值之前改變的
var a = 29;
var b = --a + 2;
console.log(a); //28水由;執(zhí)行了--a
console.log(b); //30瓶您;先執(zhí)行--a(得到28)再執(zhí)行+2(得到30)
- 后置遞增和遞減操作是在包含他們的語句被求值之后才執(zhí)行
var num1 = 2;
var num2 = 20;
var num3 = num1-- + num2;
var num4 = num1 + num2;
console.log(num3); //22非驮;先執(zhí)行num1 + num2(得到22)逞敷,再執(zhí)行num1--(得到num1=1)
console.log(num4); //21
2.一元加減操作符
var num = 20;
num = +num; //20必怜;一個+放在數(shù)值前對數(shù)值不產(chǎn)生任何影響
console.log(+new Date()); //1477485251541养涮;先調(diào)用時間對象的valueOf()方法
console.log(+"4"); //4逢享;字符串解析
console.log(+"s"); //NaN罐监;字符串解析
console.log(+false); //0;false被轉(zhuǎn)換為0
console.log(+true); //1瞒爬;true被轉(zhuǎn)換為1
3.布爾操作符
- 邏輯非操作符也可以用于將一個值轉(zhuǎn)換為其對應(yīng)的布爾值弓柱;同時使用兩個邏輯非操作符,第一個非操作符返回一個布爾值侧但,第二個非操作符對該布爾值求反矢空,于是就得到了這個值真正對應(yīng)的布爾值
console.log(!!true); //true
console.log(!!0); //false
console.log(!!9); //true
console.log(!!"sun"); //true
console.log(!!null); //false
console.log(!!undefined); //false
console.log(!!NaN); //false
4.加法操作符操作字符串
- 兩個操作數(shù)都是字符串,則自然拼接
- 只有一個操作數(shù)是字符串禀横,則將另一個操作數(shù)轉(zhuǎn)換為字符串屁药,再自然拼接
console.log(1+1); //2;正常計算
console.log("2"+"4"); //24柏锄;字符串拼接
console.log(2+"4"); //24酿箭;字符串拼接
console.log( (5 + 5) + "0" ); //100;先對()里的數(shù)值計算趾娃,再拼接
5.相等操作符
- 相等(==)和不相等(!=)缭嫡,先轉(zhuǎn)換再比較
- 全等(===)和不全等(!==),僅比較不轉(zhuǎn)換
console.log( 55 == "55" ); //true抬闷;先將字符串轉(zhuǎn)為數(shù)值再比較
console.log( 55 === "55" ); //false械巡;不轉(zhuǎn)換,數(shù)據(jù)類型不同饶氏,因此不相等
- 比較相等性之前讥耗,不能將
null
和undefined
轉(zhuǎn)換成其他任何值
console.log( null == undefined ); //true;類似的值
console.log( null === undefined ) //false疹启;不同類型
6.操作符優(yōu)先級
- typeof的優(yōu)先級相當?shù)母吖懦蹋燃訙p乘除等都高
typeof 2*3; //NaN
typeof (2*3); //"number"
typeof 2+3; // "number3"
- ++、--是右結(jié)合的操作符(優(yōu)先級最高的幾個都是右結(jié)合)喊崖,而且比加減乘除優(yōu)先級高挣磨;同時自增、自減運算符的運算數(shù)得是可以放在賦值符號左邊的值荤懂,所以不能是常數(shù)
4++; //ReferenceError: Invalid left-hand side expression in postfix operation(提示左側(cè)是無效的表達式)
var a=0,b=0;
console.log( a+++b ); //0
console.log(a); //1茁裙;++優(yōu)先級比+高,所以相當于(a++)+b
console.log(b); //0
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者