JavaScript中的運算符
JS運算符
要進行各種各樣的運算,就要使用不同的運算符號。
算術(shù)運算符:+、-、*、/、%、++、--
A = 10 + 20;
A = 10 – 20;
A = 10 * 20;
A = 10 / 20;
(1)“%”取余運算符,兩個數(shù)相除,取余數(shù)。
A = 10 % 3; // A = 1,如果余數(shù)不為0,則兩個不能整除
A = 10 % 2; // A = 0,如果余數(shù)為0,則兩個數(shù)能除盡
(2)“++”加1運算符、自加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>
觀察上面例子的輸出結(jié)果
當++a時,無論如何,都會先執(zhí)行a=a+1,然后執(zhí)行輸出其它操作,如在頁面輸出、運算之類的
當b++時,會先執(zhí)行其它操作,如輸出、運算之類的,最后等這條語句結(jié)束時,執(zhí)行a=a+1,然后這條語句結(jié)束
(3)“--”減1運算符,自減1
“--”可以作前綴(--i),也可以作后綴(i--)。
“--”的例了與“++”例子一樣,請大家自己嘗試進行測試。
賦值運算符:=、+=、-=、*=、/=
“+=”先加后等。如:a += 10 //展開后 a = a + 10
“-=”先減后等。如:a -= 10 //展開后 a = a - 10
“*=”先乘后等。如:a *= 10 //展開后 a = a * 10
“/=”先除后等。如:a /= 10 //展開后 a = a / 10
字符串運算符:+、+=
字符串只能進行“連接”運算,不能進行其它運算。
<!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>
比較運算符:>、<、>=、<=、==、!=、===、!==
比較運算符的運算結(jié)果是布爾值(true或false)。
A = 10 > 20; // 結(jié)果A=false
A = 20>=20; // 結(jié)果A=true
A = 10%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
“==”等于。只比較兩個變量的值,而不管類型。只要值一樣,就返回true,否則返回false。
“===”全等于。既比較變量,也判斷類型。如果類型和值都一樣,返回true,否則返回false。
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php.cn</title> <script> //比較字符串數(shù)值和數(shù)值 var name1 = "520"; var name2 = 520; document.write(name1==name2); document.write("<hr>"); document.write(name1===name2) </script> </head> <body> </body> </html>
邏輯運算符:&&、||、!
邏輯運算符的運算結(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>
“!”取反運算。!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>
三元運算符:?:
所謂“三元運算符”就是指三個操作數(shù)。
語法:條件表達式 ? 結(jié)果1 : 結(jié)果2
語法:操作數(shù)1 ? 操作數(shù)2 : 操作數(shù)3
含義:如果條件為true,則執(zhí)行“結(jié)果1”的代碼;如果條件為false,則執(zhí)行“結(jié)果2”的代碼。
其實:三元運算符,就是if else的變形形式。(if else我們下一章節(jié)學習)
<!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>