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