mozilla
您的搜尋結果

    邏輯運算子

     

    邏輯運算子

    邏輯運算子通常和布林(邏輯)值一起使用,並返回布林值。然而,&& 和 || 運算子實際上返回的是指定的運算元的其中一個的值,所以如果這些運算子與非布林值一起使用,有可能返回非布林值。邏輯運算子的說明如下表。

    運算子 用法 說明
    && expr1 && expr2 (邏輯 AND)如果 expr1 可以轉換為 false,就返回 expr1。否則返回 expr2。所以,當使用於布林值時,如果兩個運算元都為 true,&& 返回 true。否則返回 false。
    || expr1 || expr2 (邏輯 OR)如果 expr1 可以轉換為 true,就返回 expr1。否則返回 expr2。所以,當使用於布林值時,如果其中一個運算元為 true,|| 返回 true,如果兩個運算元都為 false,就返回 false。
    ! !expr (邏輯 NOT)如果運算元可以轉換為 true,就返回 false。否則返回 true。

    表 3.7: 邏輯運算子

    可以轉換成 false 的表達式的例子有︰對 null、0、空字串 ("") 或 undefined 求值。

    以下代碼為 &&(邏輯 AND)運算子的範例。

    a1=true && true       // t && t 返回 true
    a2=true && false      // t && f 返回 false
    a3=false && true      // f && t 返回 false
    a4=false && (3 == 4)  // f && f 返回 false
    a5="Cat" && "Dog"     // t && t 返回 Dog
    a6=false && "Cat"     // f && t 返回 false
    a7="Cat" && false     // t && f 返回 false
    

    以下代碼為 ||(邏輯 OR)運算子的範例。

    o1=true || true       // t || t 返回 true
    o2=false || true      // f || t 返回 true
    o3=true || false      // t || f 返回 true
    o4=false || (3 == 4)  // f || f 返回 false
    o5="Cat" || "Dog"     // t || t 返回 Cat
    o6=false || "Cat"     // f || t 返回 Cat
    o7="Cat" || false     // t || f 返回 Cat
    

    以下代碼為 !(邏輯 NOT)運算子的範例。

    n1=!true              // !t 返回 false
    n2=!false             // !f 返回 true
    n3=!"Cat"             // !t 返回 false
    

    求值的最短路徑

    由於邏輯表達式是由左往右求值,他們使用以下規則來測試,儘可能以“最短路徑”求值︰

    • false && anything 中的 false 是求值的最短路徑。
    • true || anything 中的 true 是求值的最短路徑。

    這些邏輯規則保證求出的值永遠正確。注意,上述表達式中的 anything 部分並未求值,因此所有未求值的部分都不會產生作用。

    Document Tags and Contributors

    Contributors to this page: happysadman, teoli
    最近更新: teoli,