分之结构中的隐式转换
条件默认都转为bool.
作用:
判断某个值是否有效。
一个条件,一件事(一种操作)
操作简单:
利用短路,满足条件就做,不满足条件就什么都不做。
条件&&(操作1,操作2,...)
操作复杂:
用if结构
一个条件,两件事(两种操作)
二选一执行。
操作简单:
条件?操作1:操作2;
/*例:*/
a>b?console.log("a大于b"):console.log("a小于b");
//如果a>b,输出"a大于b";否则,输出"a小于b"。
操作复杂:
if(条件){
操作1;
}else{
操作2;
}
多个条件,多件事(多种操作)
多选一执行,也可能都不执行。
操作简单:
用三目,不能省略默认操作。
JavaScript之数据类型转换——隐式转换与运算符 中有写到。
操作复杂:
1.如果是不等值比较
if(条件1){
操作1;
}else if(条件2){
操作2;
}[else{操作3;}]/*[]中可省略*/
最后else可以省略,如果都不满足,就都不执行。
2.如果都是等值比较
使用switch case
语法:
switch(表达式){ case 值1: 表达式的结果===值1,才执行的代码段; case 值2: 表达式的结果===值2,才执行的代码段; case ...: ...; default: 如果表达式的结果和之前所有case值都不相同才执 行默认代码; }
var n=2;
switch(n){
case 1://如果n=1
alert("n=1");
break;
case 2://如果n=2
alert("n=2");
break;
case 3://如果n=3
alert("n=3");
break;
default:
alert("不知道n是多少!");
}
- 默认每个间用break分隔;
1.break: 中止当前结构的继续执行。
2.相邻两个case执行相同操作时,中间不加break.- 最后default可省略。
- 效率高:不带隐式转换!且只能做全等比较。