JS:三目运算符

语法:条件表达式?表达式1:表达式0

 

注:当条件表达式为true则选择表达式1,反之false则选择表达式0

 

例:

        var a = 0;
        var b = 1;
        re=a>b?a:b
        console.log(re);    //1

 

嵌套

例1:

        re = 0?'1':1?'1':'0'
        console.log(re);    //1

 

例2:

        re = 0?0?'1':'0':'-1'
        console.log(re);    //-1

        re2 = 1?1?'1':'0':'-1'
        console.log(re2);    //1

        re3 = 1?0?'1':'0':'-1'
        console.log(re3);    //0

        re4 = 0?1?'1':'0':'-1'
        console.log(re4);    //-1

这样很难看明白,那么我们要加一个小括号帮助理解:

        re = 0 ? (0 ? '1' : '0') : '-1'
        console.log(re);     //-1

        re = 1 ? (1 ? '1' : '0') : '-1'
        console.log(re);     //1

        re = 1 ? (0 ? '1' : '0') : '-1'
        console.log(re);     //0

        re = 0 ? (1 ? '1' : '0') : '-1'
        console.log(re);     //-1

 

例3:

        re = 100<50? 'true':100>50?'true':'false'
        console.log(re);    //true

//加上括号理解:
      
      re = 100 < 50 ? 'true' : (100 > 50 ? 'true' : 'false')
        console.log(re); //true

 

posted on 2022-06-18 11:21  香香鲲  阅读(239)  评论(0编辑  收藏  举报