1. 程式人生 > >JS中的運算符

JS中的運算符

col 錯誤 == 鏈接 num 代碼 fff 執行 邏輯

1、算術運算(單目運算符)
+、 -、 *、 /、 % 取余、++ 自增、-- 自減
加號有兩種作用:鏈接字符串和加法作用,當+兩邊全為數字時,進行加法運算;當+兩邊有任意一邊為字符串時,起鏈接字符串的作用,鏈接之後的結果為字符串;
除加號外,其余符號運算時,會先嘗試將左右變量用Number函數轉為數字;
除號:結果會保留小數點;
++:自增運算符,將變量在原有基礎上+1
--:自減運算符,將變量在原有基礎上-1
重點!!【a++和++a的異同】
①相同點:不論a++和++a,運算完以後,a的值均會+1;
②不同點:a++:先用a的值去運算,再把a+1;
++a:先把a+1,再把a+1以後的值取運算;
eg:var a=3,b,c;
b = a++ +2;//先用a運算,b=3+2 再把a+1 a=4
c = ++a +2;//先把a+1,a=5,再用a+1以後的值去運算,c=5+2
++在前 先加一 再計算 --在前 先減一 再計算
++在後 先運算 再加一 --在前 先運算 再減一

2、賦值運算


=:賦值,把右邊的賦值給左邊 += -= *= /= %=
+=:a+=b;相當於a=a+b;但是,前者的運算效率要比後者快,所以推薦使用+=的寫法;

3、關系運算
==等於、 ===全等、!=不等、!==不全等、>、<、>=、<=
關系運算符,運算之後的結果,只能是Boolean類型;
判斷一個數字處於某個空間,必須用&&鏈接;
eg:a<10 && a>0 錯誤寫法:10>a>0
===:嚴格等於,要求不但要類型相同,值也必須相同;類型不同,結果直接為flase;類型相同,再進行下一步計算;
==:等於。類型相同:與===效果一樣。類型不同時,會先嘗試用Number函數將兩邊轉為數字,然後再進行判斷。
但是,有個別 特例:eg:Null==flase(錯誤) Null==Undefined(正確)

4、條件運算符(多目運算)

a>b?true:false
有兩個重要符號: ?和:
當?前面部分,運算結果為true時,執行:前面的代碼
當?前面部分,運算結果為flase時,執行:後面的代碼
冒號兩邊可以為數值,則整個式子可用於賦值。var a = 1<2?1:2;
冒號兩邊可以為代碼塊,將直接執行代碼。1<2?alert(1):alert(2);
多目運算符可以多層嵌套。var a =1<2?alert(1):(1>0?4:5);
5、位運算符、 邏輯運算符

&&與、||或、!非
&&:兩邊都成立,結果為true;
||:兩邊有任意一邊成立,結果為true;
6、運算符的優先級:
() //小括號最高
! ++ -- //單目運算符
* / %
+ -
> < >= <=
== !=
&& //與或同時存在時,&&比||高
||
= += -= *= /=

JS中的運算符