<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] JavaScript使用`if () { ... } else { ... }`來進行條件判斷。 # if語句 ![](https://box.kancloud.cn/600a74f1b92db5f462d60e52cfb4cd73_247x284.png) 語法: ~~~javascript if(/* 條件表達式 */){ // 執行語句 } ~~~ ~~~ if(/* 條件表達式 */){ // 成立執行語句 }else{ // 否則執行語句 } ~~~ 多條件選擇 ~~~ if(/* 條件表達式1 */){ // 成立執行語句 }else if(/* 條件表達式2 */){ // 成立執行語句 }else if(/* 條件表達式3 */){ // 成立執行語句 }else{ // 否則執行語句 } ~~~ 例如,根據年齡顯示不同內容,可以用`if`語句實現如下: ~~~ var age = 20; if (age >= 18) { // 如果age >= 18為true,則執行if語句塊 alert('adult'); } else { // 否則執行else語句塊 alert('teenager'); } ~~~ 其中`else`語句是可選的。如果語句塊只包含一條語句,那么可以省略`{}`: ~~~ var age = 20; if (age >= 18) alert('adult'); else alert('teenager'); ~~~ 省略`{}`的危險之處在于,如果后來想添加一些語句,卻忘了寫`{}`,就改變了`if...else...`的語義,例如: ~~~ var age = 20; if (age >= 18) alert('adult'); else console.log('age < 18'); // 添加一行日志 alert('teenager'); // <- 這行語句已經不在else的控制范圍了 ~~~ 上述代碼的`else`子句實際上只負責執行`console.log('age &lt; 18');`,原有的`alert('teenager');`已經不屬于`if...else...`的控制范圍了,它每次都會執行。 相反地,有`{}`的語句就不會出錯: ~~~ var age = 20; if (age >= 18) { alert('adult'); } else { console.log('age < 18'); alert('teenager'); } ~~~ 這就是為什么我們建議永遠都要寫上`{}`。 ## 多行條件判斷 如果還要更細致地判斷條件,可以使用多個`if...else...`的組合: ~~~ var age = 3; if (age >= 18) { alert('adult'); } else if (age >= 6) { alert('teenager'); } else { alert('kid'); } ~~~ 上述多個`if...else...`的組合實際上相當于兩層`if...else...`: ~~~ var age = 3; if (age >= 18) { alert('adult'); } else { if (age >= 6) { alert('teenager'); } else { alert('kid'); } } ~~~ 但是我們通常把`else if`連寫在一起,來增加可讀性。這里的`else`略掉了`{}`是沒有問題的,因為它只包含一個`if`語句。注意最后一個單獨的`else`不要略掉`{}`。 *請注意*,`if...else...`語句的執行特點是二選一,在多個`if...else...`語句中,如果某個條件成立,則后續就不再繼續判斷了。 試解釋為什么下面的代碼顯示的是`teenager`: ~~~ 'use strict'; var age = 20; if (age >= 6) { alert('teenager'); } else if (age >= 18) { alert('adult'); } else { alert('kid'); } ~~~ 由于`age`的值為`20`,它實際上同時滿足條件`age &gt;= 6`和`age &gt;= 18`,這說明條件判斷的順序非常重要。請修復后讓其顯示`adult`。 如果`if`的條件判斷語句結果不是`true`或`false`怎么辦?例如: ~~~ var s = '123'; if (s.length) { // 條件計算結果為3 // } ~~~ > JavaScript把`null`、`undefined`、`0`、`NaN`和空字符串`''`視為`false`,其他值一概視為`true`,因此上述代碼條件判斷的結果是`true`。 ## 案例分析 1. 求兩個數的最大數 ~~~js var num1 = 2; var num2 = 5; if(num1>num2){ console.log('較大數是:' + num1); } else{ console.log('較大數是:' + num2); } ~~~ 1. 判斷一個數是奇數還是偶數 ~~~js var num = 10; if(num%2 === 0) { console.log('偶數'); } else{ console.log('奇數'); } ~~~ 1. 分數轉換,把百分制轉換成ABCDE A(90-100) B(80-90) C(70-80) D(60-70) E(<60) ~~~js var score = 80; if(score >= 90) { console.log('A'); } else if(score >= 80){//隱藏條件 后邊的值都是<90 console.log('B'); } else if(score >= 70){ console.log('C'); } else if(score >= 60){ console.log('D'); } else { console.log('E'); } ~~~ # 三元運算符 > 分支結構的另類寫法 > 帶有 三個 操作數的運算符 > 表達式1? 表達式2 : 表達式3; > 表達式1: 布爾類型的表達式,它總會返回一個布爾類型的值 > 當表達式1成立 ,則返回表達式2的值,當表達式1不成立,則返回表達式3的值; > 是對 if else語法的一種簡化 ~~~js var num1 = 3; var num2 = 6; // 表達式1 ? 表達式2 : 表達式3 console.log(num1>num2?num1:num2); var age = 17; console.log(age>=18 ? '成年' : '未成年'); ~~~ # switch語句 > 也常用語條件判斷,用于多個分支。 > 只能做 值相等判斷,而if可以做某個范圍判斷,在switch里面,使用的是嚴格模式,注意類型要一致 case滿足條件的時候,如果沒有break,會一直往下穿透,所以break不能忘。 ~~~js switch(expression){ case 常量1: 語句; break; case 常量2: 語句; break; case 常量3: 語句; break; ... case 常量n: 語句; break; default: 語句; } ~~~ ## 實例分析 getDay() 方法返回 0 至 6 之間的周名數字(weekday number)。 (Sunday=0, Monday=1, Tuesday=2 ..) 本例使用周名數字來計算周的名稱: ~~~ switch (new Date().getDay()) { case 0: day = "星期天"; break; case 1: day = "星期一"; break; case 2: day = "星期二"; break; case 3: day = "星期三"; break; case 4: day = "星期四"; break; case 5: day = "星期五"; break; case 6: day = "星期六"; } ~~~ 結果將是: ~~~ 今天是星期一 ~~~ ```js let dayArray=['星期天','星期一','星期二','星期三','星期四','星期五','星期六'] console.log(dayArray[new Date().getDay()]); ``` > 在實際的應用中,你還可以更加的簡單,想想怎么操作更簡單? # 練習 小明身高1.75,體重80.5kg。請根據BMI公式(體重除以身高的平方)幫小明計算他的BMI指數,并根據BMI指數: * 低于18.5:過輕 * 18.5-25:正常 * 25-28:過重 * 28-32:肥胖 * 高于32:嚴重肥胖 用`if...else...`判斷并顯示結果: ~~~ 'use strict'; var height = parseFloat(prompt('請輸入身高(m):')); var weight = parseFloat(prompt('請輸入體重(kg):')); var bmi = ???; if ... ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看