JS基礎(chǔ) -- switch練習(xí)

/*

        /*
         * 在JS基礎(chǔ)_條件分支語句中結(jié)尾講到了一個(gè)問題,那就是如果 num 的是任何數(shù)的話,那switch
            中case會(huì)需要寫N個(gè), 這樣寫的話代碼、條件比較的時(shí)間、運(yùn)行負(fù)擔(dān)會(huì)都會(huì)是無限長(zhǎng)和負(fù)擔(dān)
            無限大,最終會(huì)導(dǎo)致程序卡頓甚至卡死或者閃退。
         * 
         * 那該如何解決這個(gè)問題吶?下面會(huì)講到
         */
        /*
         * 題:
         *   對(duì)于成績(jī)大于60分的輸出‘合格’,低于60分的輸出‘不合格’
         */
        //第一步,先聲明一個(gè)變量,并賦值60或任意數(shù)字
        //          var score = 60;
        var score = prompt("請(qǐng)輸入成績(jī):")
        //為了方便測(cè)試,我把60改為
        //第二步,創(chuàng)建switch,并添加條件表達(dá)式
        //          switch(score) {
        //              /*
        //               * case 60:這個(gè)是全等于score的值,但是,每次考試不可能都是60分,
                    //    *  也有可能是60以下任何一個(gè)數(shù),也有可能是60以上任何一個(gè)數(shù),
        //               * 我們不可能把從0 ~ 100的數(shù)全寫出來,這顯然是不可行的,
        //               */
        //              case 60:
        //                  alert("合格");
        //                  break;
        //          }
        //          switch(score / 10) {
        //  /*
        //   * 為什么case 10:、case 9:、case 8:、case 7:沒有寫alert("合格");和break;?
        //   * 其實(shí)這樣寫也是可以執(zhí)行的,因?yàn)閏ase是從上向下執(zhí)行的,第一個(gè)沒有全等于score值,
        //   * 那他就會(huì)繼續(xù)向下全等比較,直到case全等于score才會(huì)結(jié)束并退出語句。
        //               * 
        //               * 那這樣就可以了嗎?
        //               * 當(dāng)然不是的,這樣寫還是無法滿足score的值是任何數(shù)的寫法
        //               */
        //              case 10:
        //              case 9:
        //              case 8:
        //              case 7:
        //              case 6:
        //                  alert("合格");
        //                  break;
        //              default:
        //                  alert("不合格")
        //                  break;
        //          }
        switch(true) {
            case score >= 60:
                alert("合格");
                break;
            default:
                alert("不合格")
                break;
        }
        /*
         * 這樣寫的意思是當(dāng)case的表達(dá)式 score大于等于60時(shí)條件成立了那就等于true,與switch()表
            達(dá)式的值也就是true全等,那么會(huì)執(zhí)行case內(nèi)語句。
         * 如果case的表達(dá)式 score不能大于等于60時(shí)是等于false,那么case內(nèi)的語句不會(huì)執(zhí)行,
            這時(shí)會(huì)繼續(xù)執(zhí)行下一個(gè)case或者default
         * 
         */
快給朕打賞
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容