三目运算符(三元运算符)
三目运算符:运算符需要三个操作
语法:表达式1?表达式2:表达式3
表达式1是一个条件,值为Boolean类型
若表达式1的值为true,则执行表达式2的操作,并且以表达式2的结果作为整个表达式的结果;
若表达式1的值为false,则执行表达式3的操作,并且以表达式3的结果作为整个表达式的结果;
示例:
'0'和's'的布尔值都是true,所以返回第二个表达式的值 'hello'
数字 0的布尔值为false,所以返回第三个表达式的值 'world'
三元运算符与If...else语句的区别:
一般来说三元条件表达式与if...else语句有相同的表达效果,前者可以表达的后者同样也可以表达;
两者最大的不同之处在于:if...else是语句没有返回值,三元表达式有返回值;
所以在需要返回值的场合,只能使用三元表达式,而不能使用if...else语句;
在下面的代码中,console.log()方法的参数必须为表达式,所以只能使用三元表达式。
实例:(条件运算符的嵌套)
输入一个考试成绩,判断:
如果成绩在 80 以上,则输出 优秀;
如果成绩在 60 以上,则输出 合格;
否则输出:不合格。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> var score=85; var result=score >= 80? "优秀" : ( score>=60?"合格":"不合格"); console.log (result); </script> </body> </html>