js分支语句
一、逻辑分支(选择结构,分支结构)
- 其实今天的课程才算开始涉及到逻辑
- 程序的三大结构
- 顺序结构 - 每天
- 代码逐行执行,一行一行自上而下执行
- 分支结构
- 有选择了,十字路口的选择,只能选择一个,如果...否则...
- 循环结构 - 后话
- 重复,重复执行多次,起因:无聊,然后开始:吃,胖,心情不好,吃,胖....
- 分支语句
-
分支和循环结构,需要配合一些专用代码才能实现,专用代码叫:语句
-
if:单分支if(条件){执行语句}
-
if else:双分支if(条件){条件为true时,要执行的语句}else{条件为false时,要执行的语句}- 分支的嵌套(双分支模拟的多分支)
- 在执行体内,可以继续写其他分支
if(条件1){}else if(条件2){}else if(条件3){}else......
-
if的小括号里面也会发生隐式类型转换规则
- 规则:其他转布尔
- 数值转布尔:非0为true,0为false
- 字符转布尔:非空字符,为true,空字符,为false
- 对象转布尔:对象为true
- 数组转布尔:数组为true
- 函数转布尔:函数为true
- 特殊数据转布尔:undefined,NaN,null都为false
if( false ){ console.log("真"); }else{ console.log("假"); }
- 规则:其他转布尔
-
switch:多分支- 语法:
var n = 2; var msg = ""; switch(Number(n)){ case 0: msg = "星期日"; break; case 1: msg = "星期一"; break; ... default: msg = "你输入的数字不对,请输入0~6之间的数字"; } console.log(msg); - 规则:
-
当要判断的值是固定的数据时,选择使用switch
- 如果要判断的值是范围时,选择使用if-else
-
switch的case判断,不存在隐式类型转换
- 某些情况下,需要根据场景,选择是否需要主动转换
-
如果你不管上面的使用建议,非要使用switch判断范围,注定要多掉点头发
- 使用switch判断范围
var cj = 45; switch( true ){ case cj<60: console.log("不及格"); break; case cj>=60 && cj<70: console.log("及格"); break; default: console.log("以上case都没执行"); }
-
- 某些问题需要利用switch的case的穿透特性,解决 ...后话
- 语法:

浙公网安备 33010602011771号