JavaScript中的運(yùn)算符
JS運(yùn)算子
要進(jìn)行各種不同的運(yùn)算,就要使用不同的運(yùn)算符號。
算術(shù)運(yùn)算子:+、-、*、/、%、++、--
A?= 10 + 20;
#A = 10 –?20;
A = 10 * 20;
# A = 10 / 20;
(1)「%」取餘運(yùn)算符,兩個數(shù)相除,取餘數(shù)。
A = 10 % 3; ?// A = 1,若餘數(shù)不為0,則兩個無法整除
A = 10 % 2; ?// A = 0,若餘數(shù)為0,則兩個數(shù)能除盡
(2)「++」加1運(yùn)算子、自加1
##「++」可以作前綴(++i),也可以作字尾(i++)。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script> var a = 1; var b = 1; document.write(++a); document.write("<hr>") document.write(b++); </script> </head> <body> </body> </html>
觀察上面範(fàn)例的輸出結(jié)果
#當(dāng)++a時,無論如何,都會先執(zhí)行a=a+ 1,然後執(zhí)行輸出其它操作,如在頁面輸出、運(yùn)算之類的
#當(dāng)b++時,會先執(zhí)行其它操作,如輸出、運(yùn)算之類別的,最後等這語句結(jié)束時,執(zhí)行a=a+1,然後這條語句結(jié)束
#(3)「--」減1運(yùn)算符,自減1
「--」可以作前綴(--i),也可以作字尾(i--)。
「--」的例了與「++」範(fàn)例一樣,請大家自己嘗試測試。
賦值運(yùn)算子:=、+=、-=、*=、/=
「+= 」先加後等。如:a += 10 ?//展開後 ?a = a + 10
「-=」先減後等。如:a -= 10 ??//展開後 ?a = a - 10
「*=」先乘後等。如:a *= 10 ?//展開後 ?a = a * 10
「/=」先除後等。如:a /= 10 ??//展開後?a = a / 10
字串運(yùn)算子:+、+ =
字串只能進(jìn)行「連接」運(yùn)算,不能進(jìn)行其它運(yùn)算。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script> var name = "php.cn"; var str = "歡迎來到"+name; document.write(str); </script> </head> <body> </body> </html>
比較運(yùn)算子:>、<、>=、<=、==、!=、===、!==
比較運(yùn)算子的運(yùn)算結(jié)果是布林值(true或false)。
A?= 10 > 20; ??????// 結(jié)果A=false
A = 20>=20; ??????// 結(jié)果A=true
A = 1000 %2 == 0; ???// 結(jié)果A=true
A = 10%2 == “0”; ?// 結(jié)果A=true
A = 10%3 != 0; // 結(jié)果A=true
A = 10%2 === “0”; ?//結(jié)果A=false
註:
##“=”是賦值號碼。如:a = 10
“==”等於。只比較兩個變數(shù)的值,而不管類型。只要值一樣,就回傳true,否則回傳false。
“===”全等於。既比較變量,也判斷類型。如果類型和值都一樣,回傳true,否則回傳false。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script> //比較字符串?dāng)?shù)值和數(shù)值 var name1 = "520"; var name2 = 520; document.write(name1==name2); document.write("<hr>"); document.write(name1===name2) </script> </head> <body> </body> </html>
#邏輯運(yùn)算子:&&、||、!
#邏輯運(yùn)算子的運(yùn)算結(jié)果有兩個true或false。
“&&”邏輯與(並且關(guān)係)。如果左右兩個操作數(shù)都為true,則結(jié)果為true,否則,結(jié)果為false。
邏輯與,就是兩個條件同時滿足時,則結(jié)果為true。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script> //給一個成績 var score=61; //判斷成績所屬級別 if(score<60){ document.write("對不起,您沒有及格"); }else if (score>=60&&score<70){ document.write("您剛好及格"); } </script> </head> <body> </body> </html>
“||”邏輯或。左右兩個條件,只要有一個滿足,則回傳true,否則,回傳false。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script> var age=79; if(age<10||age>60){ document.write("您好,您符合我們店的優(yōu)惠條件,今天買東西全場5折"); }else if (age>=10&&age<=60){ document.write("不好意思,您不符合我們店的優(yōu)惠條件,今天買東西不享受折扣"); } </script> </head> <body> </body> </html>
“!”取反運(yùn)算。 !true = false ?、 ??!false = true ?、 !100 = false
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script> var a=true; document.write(a); document.write("<br/>"); document.write(!a); </script> </head> <body> </body> </html>
三元運(yùn)算子:?:
#所謂「三元運(yùn)算子」就是指三個運(yùn)算元。
語法:條件式? 結(jié)果1 : 結(jié)果2
語法:操作數(shù)1 ? 操作數(shù)2 : 運(yùn)算元3
##意義:如果條件為true,則執(zhí)行「結(jié)果1」的程式碼;如果條件為false,則執(zhí)行「結(jié)果2」的程式碼。 其實(shí):三元運(yùn)算符,就是if else的變形形式。 (if else我們下一章學(xué)習(xí))<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script> var a=10; var b=20; //判斷a和b那個大,把大的那個賦值給max var max=a>b?a:b; document.write("最大值:"+max); </script> </head> <body> </body> </html>
#