国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

switch語句的妙用

scola666 / 1833人閱讀

摘要:注意必須把運算符的結果進行顯示轉換為布爾值,才能匹配因為的表達式的返回值不是布爾類型,它返回的是表達式中第一個為或第一個為的那個值所以,只要你想得到的,只要符合規則,都能用實現就是不知道這樣寫的代碼好不好了

switch語句的普通用法很簡單,如下:

var a = 3;
switch (a) {
    case 1:
        console.log(a);
        break;
    case 2:
    case 3:
        console.log(a);
        break;
    default:
        break;
}

這里a和case列表中從上而下逐一做比較,如果匹配就執行case中的代碼,若有break則跳出,無break則繼續往下匹配,直到新的匹配和break或switch代碼塊結束。
注意:
a和case值的匹配算法是執行嚴格相等比較的(‘===’),通常a和case的值都是簡單值。

case的值除了簡單值之外,還可以是各種表達式,switch (a){...}中的a會和case中的表達式的結果值進行比較(“===”),由此,我們可以這樣:

var a = [4], b = "3";

function foo(a, b) {
    return Math.abs(a - b) < 2;
}

switch (true) {
    case !(a && b):    //過濾掉a,b其中有為‘假值’的情況
        console.log("a:"+a," b:"+b);
        break;
    case foo(a,b):   //當a,b的差值在2以內,foo函數返回true
        console.log("a - b < "+Math.abs(a-b));
    case a == b:
        console.log(a+"=="+b);
        break;
    case a < b:
        console.log(a+"<"+b);
        break;
    case a > b:
        console.log(a+">"+b);
        break;
    default:
        break;
}

以上例子中,true和每個case的表達式的值進行嚴格相等比較,當且僅當case表達式的值為布爾值true時才匹配,任何其他真值都不匹配。
注意:case !(a && b):必須把&&、||運算符的結果進行顯示轉換為布爾值,才能匹配(因為&&、||的表達式的返回值不是布爾類型,它返回的是表達式中第一個為true、或第一個為false的那個值)

所以,只要你想得到的,只要符合規則,都能用switch實現!就是不知道這樣寫的代碼好不好了!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/80582.html

相關文章

  • 妙用協程】 - 可持久化協程能被用來實現工作流

    摘要:常規版本的的是不可以被持久化保存的。在流程被阻塞的時候比如需要審批老板不在把協程持久化成入庫,等流程不再阻塞的時候把協程重新從數據庫里拉起來繼續執行。 常規版本的Python的generator是不可以被持久化保存的。但是stackless和pypy這兩個修改版本的Python解釋器可以。下面這段代碼演示了如何把一個執行中的函數持久化保存,然后過段時間再把函數從上次執行到的地方原樣拉起...

    wpw 評論0 收藏0
  • 妙用協程】 - 可resume異常處理

    摘要:標準的異常處理是這樣的這段代碼會打印出而不會打印出,因為異常會中斷當前流程,跳轉到部分去繼續執行。這種行為類似里的。如何實現的其實原理上很簡單。的時候把當前協程的狀態保存起來,如果決定要,就把協程的時刻的狀態重新恢復然后從那個點繼續執行。 標準的異常處理是這樣的 try: print(hello) raise Exception() print(!!!) ex...

    Jeff 評論0 收藏0
  • JavaScript中this妙用

    摘要:關鍵字始腳本能夠根據使用這個關鍵字的上下文將值傳遞給函數。替我們完成的工作之一是從鏈接獲得也就是標簽的屬性。實際上,可以讓站點上的所有鏈接都調用這個相同的代碼,這一行代碼都會自動獲得相應的值。 JavaScript關鍵字this始JS腳本能夠根據使用這個關鍵字的上下文將值傳遞給函數。我們先來看如下一個網頁,在用戶單擊鏈接之后,彈出一個alert框,然后再轉到href屬性所指的網頁HTM...

    jayzou 評論0 收藏0
  • return/break語句妙用

    摘要:在里面,一般我們想讓程序在里面執行到一半時,經過判斷或者完成某種操作后停止執行后面的代碼,會用結束掉。可以在中間加入多個作為斷點,控制邏輯的流程。 在JavaScript里面,一般我們想讓程序在function里面執行到一半時,經過判斷或者完成某種操作后停止執行后面的代碼,會用return結束掉function。 例如: //去除前后的空格function spaceWord(vRet...

    Batkid 評論0 收藏0
  • for in妙用

    摘要:前兩天在看司徒正美的框架設計,看到了一個模擬方法的函數,怎能如此之妙語句在可用于遍歷對象中的屬性與方法在上面的方法中,就用到了語句,其中的就相當于中的就這樣,遍歷到的屬性就巧妙的到了里面。 前兩天在看司徒正美的《javascript框架設計》,看到了一個模擬Object.keys()方法的函數,怎能如此之妙!!! function keys(obj){ var a = []; ...

    陳偉 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<