JavaScript 进阶第一章(分支结构)
switch-case分支结构
1.语法
switch(表达式){ // 不是布尔类型:是一个确定的变量
case 值1: // 值1,值2...都是字面量
表达式的结果 === 值1,需要执行的代码
break;
case 值2:
表达式的结果 === 值2,需要执行的代码
break;
case 值3:
表达式的结果 === 值3,需要执行的代码
break;
default:
表达式的结果和上面所有的case后面的值都不全等,则会执行这里的代码
break;
}
2.注意事项
1.表达式的结果要和值一定是全等的关系 ===
2.break作用:结束该switch语句,所以一般情况下要加上,如果不加上则会发生穿透
穿透:从上一个case代码快执行到下一个case代码快
break关键字的作用就是防止穿透
3.default语句可以写在任何地方,可以省略,一般写在最后,这是一种代码规范
switch-case穿透用法
<script>/**合理穿透:当存在多种值需要执行相同代码时使用穿透可以节省代码* 用户输入某一个月份,告诉用户这个月份属于什么季节* 12,1,2 冬季* 3,4,5 春季* 6,7,8 夏季* 9,10,11 秋季*/let month = +prompt("请输入月份");switch (month){case 12:case 1:case 2:alert("冬季");break;case 3:case 4:case 5:alert("春季");break;case 6:case 7:case 8:alert("夏季");break;case 9:case 10:case 11:alert("秋季");break;default:alert("没有这个季节哦");break;}</script>
三元表达式(重点)
1.运算符根据参与运算的值数量分为一元、二元、三元运算符
一元运算符:只能操作一个值 ++ -- !
二元运算符:操作两个值 1 + 1 1 > 0
三元运算符:操作三个值
2.三元运算符语法
三元运算符:
?:
三元表达式:
表达式?代码1:代码2
1.如果表达式成立则执行代码1,否则执行代码2
2.如果代码1或者代码2有运算结果则三元运算式的结果就是他们其中的一个
三元运算符做的事和if-else类似,只是代码更简洁
三元表达式中:表达式部分永远是条件,最终代表整个结果的不是代码1 就是 代码2
<script>/*一元运算符:由一个值参与的运算符 : a++ a-- !a二元运算符: 由两个值参与的运算符 : a + b a > b三元(三目)运算符:由三个值参与的运算符*//** 三元运算符: ?:* 三元表达式: 表达式?代码1:代码2* * 1.如果表达式成立则执行代码1,否则执行代码2* * 2.如果代码1或者代码2有运算结果则三元运算式的结果就是他们其中的一个** 三元运算符做的事和if-else类似,只是代码更简洁*///案例1:let num1 = 10;num1 > 0 ? console.log('哈哈') : console.log('嘿嘿');//上面这个三元表达式等价于下面的if - else语句// if(num1 > 0){// console.log ( "哈哈" );// }else{// console.log ( "嘿嘿" );// }//案例2:三元表达式一般应用是用来赋值let num2 = 20;let res2 = num2 > 0 ? num2 + 1 : num2 - 1;console.log ( res2 ); // 21// 上面这个三元表达式等价于下面的if - else语句// if(num2 > 0){// res2 = num2 + 1;// }else{// res2 = num2 - 1;// }//练习:输出性别 (实际开发中,性别通常会使用一个布尔类型来存储,这样存储效率更高)let name = "海海";let age = 18;let gender = true; // true男 1 false 女 0console.log("我的名字是"+name+",我的年龄是"+age+",我是一个"+(gender === true ? "男":"女")+"生");</script>
三种分支结构语法总结
1.原则上,三种分支结构语句之间可以互转,只不过每一种分支结构语句适用场景不一样
2.if分支结构:适合条件判断
最常用:if-else 两种互斥条件判断
3.switch-case 适合做固定值匹配
4.三元表达式: 比if-else代码更简洁,在项目中最常见
下一章:JavaScript 进阶第二章(循环结构)
JavaScript 进阶第一章(分支结构)相关推荐
- javascript百炼成仙 第一章 掌握JavaScript基础1.5基础考核
叶小凡兴奋,那种钻研了很久之后猛地豁然开朗,感觉实在是太爽了.乘着心情大好,叶小凡继续钻研"JavaScript基础修炼要诀",一晃半天时间过去了.叶小凡性格谨慎,也非常刻苦,有很 ...
- javascript百炼成仙 第一章 掌握JavaScript基础1.6 叶老
这一日,叶小凡来到青山院附近的小山上修炼,忽然,被一块石头绊了一跤.正在他自认倒霉打算爬起来的时候,在石头缝里边发现了一枚古怪的戒指.戒指通体呈现一种枯黄色,似有一些年代悠久之感. "摔了一 ...
- javascript百炼成仙 第一章 掌握JavaScript基础01 初入宗门
前些天发现了一个巨牛的人工智能学习博客,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转 乐阳村,处于脚本大陆东部的边缘地带,民风淳朴,村民日出而作,日落而息.这一日清晨,所有村民来到村庄的门口,正 ...
- javascript百炼成仙 第一章 掌握JavaScript基础1.8 对象的取值
"小娃娃,我现在问你,如果我事先不知道对象的某个属性叫什么,那又该怎么访问对象中对应这个属性的值呢?"叶老笑呵呵地问到. "什么什么,事先都不知道对象的属性名称,那怎么可 ...
- javascript百炼成仙 第一章 掌握JavaScript基础1.4数据类型
修行还在继续,随着对要诀的深入,叶小凡明白,在编程世界,刚才的直接量都属于一种数据.和人有男女一样,数据也是有类型的. 在JavaScript中,数据可分为两类,分别为原生数据类型(primitive ...
- javascript百炼成仙 第一章 掌握JavaScript基础1.7 对象数据类型
听到这句话,叶小凡一顿,动作停止了下来. 对象数据类型,这在JavaScript基础修炼要诀中只是提了一下,但是并没有细讲,这个对象数据类型一直以来都深深地勾起了叶小凡的好奇心. "小娃娃, ...
- javascript百炼成仙 第一章 掌握JavaScript基础 1.2直接量
前些天发现了一个巨牛的人工智能学习博客,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转 叶小凡的住处被安排在青山院西北角的一个房间里,虽不宽敞,倒也干净.叶小凡两眼露出振奋的眼神,随便吃了点乡亲们 ...
- 第四章:分支结构程序设计
说明:程序中用到了逻辑运算符"!",含义是"非". 关系运算符和关系表达式 1.关系运算符 运算符 含义 > 大于 >= 大于等于 < 小于 ...
- 第四章分支结构程序设计
引例 [例4.1]输入三角形的三条边,判断是否能能构成三角形,若能则计算并输出三角形的面积,否则给出出错提示. [例4.2]编写程序,输人x的值,按以下分分段函数计算并输出y的值. y=f(x)= x ...
最新文章
- Jakarta EE:云原生Java的新平台
- 《星球大战:前线2》预告片发布
- 小程序实现长按删除图片
- html 滤镜兼容,CSS3 中各种滤镜介绍和兼容性说明 - 文章教程
- 计算机控制与网络,网络与通信技术在计算机控制的作用
- 【python】热力图绘制: intensity_heatmap,density_heatmap
- ElasticSearch的优点
- 经典而常用的配乐和背景音乐合集(上)
- matlab 画标准正态曲线,matlab中如何画标准正态分布的密度函数曲线?
- ubuntu系统设置开机启动项
- 翻译:Tree Energy Loss: Towards Sparsely Annotated Semantic Segmentation
- 【Arduino】入门篇——人体红外自动报警
- 设计师必看!10个非常重要的图片无损编辑技巧
- Android拍摄raw照片,这20款摄影APP,让你的照片飞上天!
- WordPress数据库文章表(字段说明)
- SK电讯与霍尼韦尔结成物联网联盟以推动LoRa应用
- ANSI终端常用控制字符
- 百度地图测距工具distanceTool鼠标位置偏差不一致问题
- 学习Vue的SSR,这可能是最好的教程
- 记录一下js获取上周、下周日期