1、分支结构:通过条件的判断,选择部分代码执行 - 3类
1、*if分支:性能较差
一个条件一件事,满足就做,不满足就不做
if(条件){
操作;
}
一个条件两件事,满足就做第一件,不满足就做第二件
if(条件){
操作;
}else{
默认操作;
}
多个条件做件事,满足谁就做谁
if(条件1){
操作1;
}else if(条件2){
操作2;
}else{
默认操作;
}
2、*switch分支:一定要知道结果是什么,才可以使用
switch(变量/表达式){
case 值1:
操作1;
break;
case 值2:
操作2;
break;
default:
默认操作;
}
3、*三目运算:简化【简单的】分支 - 操作只能有一句话的时候才推荐使用
短路逻辑:条件&&(操作); === if...
条件?操作:默认操作; === if...else...
条件1?操作1:条件2?操作2:默认操作 === if...else if...else...
2、强制数据类型转换:因为隐式转换有时候满足不了我们
页面上一切数据默认都是一个字符串
1、转字符串:
x.toString();//x不能是undefined和null,undefined和null不能使用.去做任何操作(因为他们俩不是对象)
String(x);//万能的,但是绝对不要手动使用,因为完全等效于隐式转换,也是我们隐式转换底层的原理,还不如+""
2、*转数字
parseInt(str/num);
parseFloat(str);
执行原理:从左向右,依次读取每个字符,碰到非数字字符则停止转换,如果一来就不认识则为NaN,Int不认识小数点,Float认识第一个小数点
Number(x);
3、转布尔
Boolean(x);
只有六个使用了转布尔的结果会是false:
0,"",undefined,null,NaN,false,其余都是true