条件运算符
条件运算符也叫三元运算符
语法:?:
条件表达式?语句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>