三元表达式:
运算符号: ? :
语法:
var 变量 = 表达式1?表达式2:表达式3;
执行过程:
表达式1的结果是true还是false
如果是true则执行表达式2 然后把结果给变量
如果表达式1的结果是false 则执行表达式3 把结果给变量
//两个数字中的最大值
var x = 10;
var y = 20;
var result = x > y ? x : y;
console.log(result);
//显示成年还是未成年
var age = 18;
var result2 = age >= 18 ? "成年了" : "未成年";
console.log(result2);
swith-case语句
swith-case语句-------分支语句-----多分支语句
语法:
switch(表达式){
case 值1:
代码1;
break;
case 值2:
代码1;
break;
case 值3:
代码1;
break;
case 值4:
代码1;
break;
.....多个case
default:代码5;
}
注意问题:
default后面的break是可以省略的
default也可以省略
switch-case语句中和case后面的值做比较的时候使用的是严格的模式
break也是可以省略的
执行过程:
获取表达式的值 和值1做比较 如果一样 则执行代码1 遇到break则跳出整个语句 后面代码不执行
如果表达式的值和值1不一样 则和值2做比较 如果相同则执行代码2 遇到break跳出
否则和值3比较 相同则执行代码3 遇到break跳出 否则和值4做比较 相同则执行代码4 遇到break跳出 否则直接执行代码5
例子:获取一个人的成绩级别 如果是A级则显示90到100直接的分数
如果是B级则显示80到90分
如果是C级则显示70到80之间
如果是D级则显示60到70之间
*如果是E级则显示59到0之间
var jiBie = "E";
switch(jiBie){
case "A":
console.log("90到100");
break;
case "B":
console.log("80到90");
break;
case "C":
console.log("70到80");
break;
case "D":
console.log("60到70");
break;
case "E":
console.log("0到59");
break;
}
注意问题
var num = "10";//字符串
switch(num){
case 10:
console.log("数字的10");
break;
case "10":
console.log("字符串的10");
break;
}
根据数字显示对应的星期
var num = parseInt(prompt("请输入一个星期的数字"));
switch(num){
case 1:console.log("星期一");break;
case 2:console.log("星期二");break;
case 3:console.log("星期三");break;
case 4:console.log("星期四");break;
case 5:console.log("星期五");break;
case 6:console.log("星期六");break;
case 7:console.log("星期日");break;
default: console.log("您输入有误");
}