1. 程式人生 > >JS中的運算符&JS中的分支結構

JS中的運算符&JS中的分支結構

eight 類型 作用 bool pre script class 多重if parse

一、JS中的運算符
1、算術運算(單目運算符)
+ 加、- 減、* 乘、/ 除、% 取余、++ 自增、-- 自減 >>> +:有兩種作用,連接字符串/加法運算。當+兩邊全為數字時,進行加法運算; 當+兩邊有任意一邊為字符串時,起連接字符串的作用,連接之後的結果為字符串 除+外,其余符號運算時,會先嘗試將左右變量用Number函數轉為數字 >>> /: 結果會保留小數點 >>> ++: 自增運算符,將變量在原有基礎上+1;
--: 自減運算符,將變量在原有基礎上-1 【a++和++a的異同】 ① 相同點:無論a++還是++a,運算完後,a的值均會+1; ② 不同點:a++,先用a的值去運算,再把a+1; ++a,先把a+1,再用a+1以後的值去運算 egvar 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:水仙花數
<script type="text/javascript">
    var num=prompt("請輸入一個三位正整數:");
    var a,b,c;
    a=parseInt(num/100);
    b=parseInt(num/10)%10;
    c=num%10;
    var sum=a*a*a+b*b*b+c*c*c;
    var result=sum == num?"是水仙花數":"不是水仙花數"
    alert("您輸入的:"+result);
</script>
二、JS中的分支結構
【if-else結構】
1、結構的寫法:
 if(判斷條件){
 //條件為true時,執行if的{}
 }else{
 //條件為false時,執行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(條件一){
 // 條件一成立
 if(條件二){
 // 條件一成立&&條件二成立
 }else{
 // 條件一成立&&條件二不成立
 }
 }else{
 // 條件一不成立
 }
2、在嵌套if結構中,如果省略{ },則else結構永遠屬於離它最近的一個if結構。 3、嵌套結構可以多層嵌套,但是一般不推薦超過3層;能用多重if結構的一般不推薦使用 嵌套if。

JS中的運算符&JS中的分支結構