JavaScript 條件運算子

木木木森林發表於2020-10-30

條件運算子

條件運算子也叫三元運算子
語法:?:
條件表示式?語句1:語句2;

        - 執行的流程
            條件運算子在執行時,首先對條件表示式進行求值,
                如果該值為true,則執行語句1,並返回執行結果
                如果該值為false,則執行語句2,並返回執行結果
            如果條件的表示式的求值結果是一個非布林值,
                會將其轉換為布林值然後再運算

    true?alert("語句1"):alert("語句2");
        <!-- <script>
            var a = 10;
            var b = 20;
            a > b ? alert("a大"):alert("b大"); // 彈出: b大
        </script> -->

獲取a和b中的最大值

<script>
    var a = 30;
    var b = 20;
    var max = a > b ? a : b; 
    console.log("max = " +max); //返回: max = 30
</script>
<script>
    var a = 30;
    var b = 43;
    var max = a > b ? a : b; 
    console.log("max = " +max); //返回: max = 43
</script>

獲取a,b,c三個值中的最大值

<script>
    var a = 30;
    var b = 43;
    var c = 50;
    var max = a > b ? a : b;
    max = max > c ? max : c; 
    console.log("max = " +max); //返回: max = 50
</script>
<script>
    var a = 30;
    var b = 43;
    var c = 50;
    //這種寫法不推薦使用,因為不方便閱讀
    var max = a > b ? a > c ? a : c : b > c ? b : c;
    console.log("max = " +max); //返回: max = 50
</script>
<script>
    var a = 30;
    var b = 143;
    var c = 50;
    //這種寫法不推薦使用,因為不方便閱讀
    var max = a > b ? a > c ? a : c : b > c ? b : c;
    console.log("max = " +max); //返回: max = 143
</script>
<script>
    var a = 230;
    var b = 143;
    var c = 50;
    //這種寫法不推薦使用,因為不方便閱讀
    var max = a > b ? a > c ? a : c : b > c ? b : c;
    console.log("max = " +max); //返回: max = 230
</script>
<script>
    var a = 230;
    var b = 143;
    var c = 50;
    //這種寫法不推薦使用,因為不方便閱讀
    var max = a > b ? (a > c ? a : c) : (b > c ? b : c);
    console.log("max = " +max); //返回: max = 230
</script>
<script>
    "hello"?alert("語句1"):alert("語句2"); //返回:語句1
</script>

<script>
    ""?alert("語句1"):alert("語句2"); //返回:語句2
</script>

相關文章