一、条件分支语句
流程控制语句:可以利用一些结构打断程序,或者挑选分支执行,或者循环执行某一段语句。
包含:条件分支语句、循环语句
条件分支语句:if语句、switch语句、三元运算符
if语句
if(条件表达式){
条件表达式成立执行
}
if(条件表达式){
条件表达式成立执行
}else{
条件表示不成立执行
}
<script type="text/javascript"> var num=parseInt(prompt('请输入你的分数')); if(num>=60){ alert('及格'); }else{ alert('不及格'); } </script>
if多分支条件语句
根据多个条件可以选择多个分支进行执行。
语法:if……else if……else if……else if……else……
if(条件1){
如果条件1为真,执行的结构体1
}else if(条件2){
条件1为假,条件2为真时,执行的结构体2
}else if(条件3){
条件1/2都为假,条件3为真时,执行的结构体3
}else{
前面条件都为假,执行的结构体
}
<script type="text/javascript"> var num=parseInt(prompt('请输入你的分数')); if(num >= 90){ alert('优秀'); }else if(num >= 80){ //如果走到这一步,隐含了a<90 alert('良好'); //执行完之后,直接跳楼,不会执行后面的条件分之 }else if(num >= 70){ alert('中等'); }else if(num >= 60){ //如果走到这一步,隐含了a<70 alert('及格'); }else{ alert('不及格'); } </script>
if嵌套
<script type="text/javascript"> var sex=prompt('请输入你的性别','男'); var age=parseInt(prompt('请输入你的年纪')); if(sex == '男'){ //只要进来执行,性别肯定是男 //判断年龄确定是否大于等于22 if(age >= 22){ alert('恭喜你!小鲜肉可以结婚了'); }else{ alert('小鲜肉,再坚持一会!'); } else if(sex == '女'){ if(age >= 20){ alert('小萝莉,恭喜你!可以结婚了'); }else{ alert('小萝莉,再坚持一会!'); } }else{ //进入这个条件分支语句,说明不是男也不是女,是人妖 alert('人妖,走开!'); } </script>
二、switch case语句
switch:关键字
case:匹配案例
break:打断代码,跳出整个switch语句
default:相当于if语句中的else,否则的情况
语法:
switch(待检测的值){
case 值1:
值1与待检测的值匹配时执行
break;
case 值2:
值2与待检测的值匹配时执行
break;
case 值3:
值3与待检测的值匹配时执行
break;
default:
待检测的值 与 case 1 和 case 2、case 3 不同时执行的代码
}
<script type="text/javascript"> var xingzuo=prompt('请输入你的星座' ,'金牛座'); switch(xingzuo){ case "白羊座": alert('今日的精神状态较好,一些重要的、消耗脑力的事情'); break; case "金牛座": alert('职场上的责任心不强,偶尔推卸责任,很难得到同事'); break; case "巨蟹座": alert('今天要是工作量太多太重的话,可以请同事帮忙一下'); break; case "狮子座": alert('对新鲜事物有很强的求知欲,这样的心态对事业好'); break; case "天秤座": alert('整个人精神爽利,桃花滚滚来,单身者有福咯!'); break; case "水瓶座": alert('今日职场上运气好,时刻都受到大家的照顾,即使有!'); break; default: alert('对不起,我们没有收录你的星座运势'); } </script>
三、三元运算符
? :是一组运算符,这是JS唯一一个需要三个元素参与的运算符。
条件 ? val1 : val2
表达式的值,要看条件是true还是false。
如果条件是true,那么表达式的值就是val1。
如果条件是false,那么表达式的值就是val2。
<script type="text/javascript"> console.log(true ? 3:8); //3 console.log(false ? 3:8); //8 </script>
总结:
条件分支的语句一共有3种,但是&& ||短路写法也有一种选择的感觉,总共算4种。
if……else if…… (必须立即想到!这个东西无敌)
Switch case (某方面很擅长,体现在了代码的清晰度上)
三元运算符(赋值的时候,根据条件有两个可能的值,马上想到三元运算符)
&&短路写法(经验问题,用的不熟悉没事)