運(yùn)算符
1郑什、javascript具有下列種類的運(yùn)算符:算術(shù)運(yùn)算符;等同運(yùn)算符與全同運(yùn)算符;比較運(yùn)算符;
2、目的分類:字符串運(yùn)算符;邏輯運(yùn)算符;逐位運(yùn)算符;賦值運(yùn)算符;
3、特殊運(yùn)算符:條件運(yùn)算符;typeof運(yùn)算符;創(chuàng)建對(duì)象運(yùn)算符new;delete運(yùn)算符;void運(yùn)算符號(hào);逗號(hào)運(yùn)算符;
算術(shù)運(yùn)算符:+ 、 – 煮剧、* 、 / 、 % 勉盅、 -(一元取反) 佑颇、 ++ 、 —
等同運(yùn)算符與全同運(yùn)算符:== 草娜、 ===挑胸、 !== 、 !===
比較運(yùn)算符:< 宰闰、 > 茬贵、 <= 、 >=
字符串運(yùn)算符::< 移袍、 > 解藻、 <= 、 >= 葡盗、 = 螟左、 +
邏輯運(yùn)算符:&& 、 ||觅够、 !胶背、
賦值運(yùn)算符:=、 +=喘先、 *=钳吟、 -=、 /=
對(duì)字符串是不能進(jìn)行乘法運(yùn)算的,”a” * “b” 是不合法的,但是,在可能的情況下,javascript會(huì)把表達(dá)式轉(zhuǎn)換成正確的類型,因此,表達(dá)式 “3” * “5” 是合法的,javascript將字符串轉(zhuǎn)換成數(shù)字執(zhí)行運(yùn)算,結(jié)果返回的是數(shù)字15,而不是字符串”15″窘拯。
1.+ 根據(jù)運(yùn)算數(shù)的不同,具有不同的表現(xiàn):
字符串 + 字符串 = 字符串(被連接);”a” + “b” = “ab” “5” + “6” = “56”
字符串 + 數(shù)字 = (字符串轉(zhuǎn)換成數(shù)字)字符串(被連接);”a” + 5 = “a5” 5被轉(zhuǎn)換成字符串 “1” + 0 = “10”
數(shù)字 + 數(shù)字 = 數(shù)字(相加)5 + 5 = 10红且。
2.注意運(yùn)算符的結(jié)合性,有些運(yùn)算符從左到右的結(jié)合性;有些從右到左結(jié)合性。
例如:w = a + b + c 等同于 w = (a + b) + c;
w = —b 等同于 w = – ( – ( -b ) ); w = a = b = c 等同于 w= ( a = ( b = c ))
一元運(yùn)算符树枫、賦值運(yùn)算符、三元運(yùn)算符的結(jié)合性是從右到左的;
“/” 在javascript中,由于所有的數(shù)都是浮點(diǎn)數(shù),除法的結(jié)果都是浮點(diǎn)數(shù),5 / 2 = 2.5 ;除數(shù)為0的結(jié)果為正負(fù)無窮;0/0為NaN;
“-”一元取反:將運(yùn)算數(shù)取反,如果運(yùn)算數(shù)不是數(shù)字,則轉(zhuǎn)化成數(shù)字景东。
當(dāng)兩個(gè)運(yùn)算數(shù)的類型不同時(shí):將他們轉(zhuǎn)換成相同的類型,
1)一個(gè)數(shù)字與一個(gè)字符串,字符串轉(zhuǎn)換成數(shù)字之后,進(jìn)行比較砂轻。
2)true轉(zhuǎn)換為1、false轉(zhuǎn)換為0,進(jìn)行比較斤吐。
3)一個(gè)對(duì)象搔涝、數(shù)組、函數(shù) 與 一個(gè)數(shù)字或字符串,對(duì)象和措、數(shù)組庄呈、函數(shù)轉(zhuǎn)換為原始類型的值,然后進(jìn)行比較。(先使用valueOf,如果不行就使用toString)
“?:”條件運(yùn)算符是唯一的一個(gè)三元運(yùn)算符;