一、js中的運算子
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型別;
>>> 判斷乙個數字是否處於某個期間,必須用&&鏈結;
10>a && a>0 √ 10>a>0 ×
>>> ===:
嚴格等於;要求不但要型別相同,值也必須相同;型別不同,結果直接為
false;型別相同,再進行下一步判斷 ==
:等於。型別相同,與===效果一樣;型別不同時,會先嘗試用number函式
將兩邊轉為數字再進行判斷
但是,有個別特例,如:null==false × null==undefined √
nan==nan ×
4、條件運算子(多目運算)
a>b?true:false
有兩個重要符號:?和:
當?前面部分,執行結果為true時,執行:前面的**;
當?前面部分,執行結果為false時,執行:後面的**;
冒號兩邊可以為數值,則整個式子可用於賦值。var a=1>2?1:2;
冒號兩邊可以為**塊,將直接執行**。var a=1>2?alert(1):alert(2);
多目運算子可以多層巢狀。 var a=1>2?alert(1):(1<2?4:5);
5、位運算子、 邏輯運算子
&、|、~ && 與、|| 或、! 非
&& 兩邊都成立,結果為true;
|| 兩邊有任意一邊成立,結果為true
6、運算子的優先順序
() 小括號最高
! ++ -- 單目運算子
* / %
+ -
> < >= <=
== !=
&& 與或同時存在時,&&比||高 ||
= += -= *= /= 最低的是各種賦值
eg:
水仙花數
二、js中的分支結構
【if-else結構】
1、結構的寫法:
if(判斷條件)
}else
}
2、注意事項:
① else{}語句塊,可以根據情況進行省略
② if和else後面的{}可以省略,但是省略{}後,if和else後面只能跟一條語句。
(所以,並不建議省略{})
3、if的()中的判斷條件支援的情況:
① boolean:true為真,false為假;
② string: 空字串為假,所有非空字串為真;
③ number: 0為假,一切非0數字為真;
④ null/undefined/nan: 全為假;
⑤ object: 全為真
【多重if、階梯if結構】
1、結構寫法:
if(條件一)else
if(條件二)else
2、多重if結構中,各個判斷條件是互斥的,執行選擇其中一條路執行。遇到正確選項,
並執行完以後,直接跳出結構,不再判斷後續分支
【巢狀if結構】
1、結構寫法:
if(條件一)else
}else
2、在巢狀if結構中,如果省略,則else結構永遠屬於離它最近的乙個if結構。
3、巢狀結構可以多層巢狀,但是一般不推薦超過3層;能用多重if結構的一般不推薦使用
巢狀if。
Js中的 運算子
jscript 具有全範圍的運算子,包括算術 邏輯 位 賦值以及其他某些運算子。計算邏輯 位運算賦值 雜項描述 符號描述 符號描述 符號描述 符號描述 符號負值 邏輯非 按位取反 賦值 刪除delete 遞增 小於 按位左移 運算賦值 op typeof 運算子 typeof 遞減 大於 按位右移 ...
js中的運算子
js中的運算子包括算數運算子,賦值運算子,關係運輸符,邏輯運算子和邏輯運算子幾大類。一,算數運算子 算數運算子主要包括 取餘 對兩個值進行相加運算,並將結果返回。如 var a 1,b 2 console.log a b 輸出結果為 3。任何值與字串進行 運算時,會拼串。如 console.log ...
Js中的 運算子
jscript 具有全範圍的運算子,包括算術 邏輯 位 賦值以及其他某些運算子。計算邏輯 位運算賦值 雜項 描述 符號描述 符號描述 符號描述 符號描述 符號 負值 邏輯非 按位取反 賦值 刪除delete 遞增 小於 按位左移 運算賦值 op typeof 運算子 typeof 遞減 大於 按位右...