JS switch case语句
switch 语句的基本语法如下:
switch (表达式){
case 表达式1:
语句块1;
break;
case表达式2:
语句块2;
break;
case表达式n:
语句块n;
break;
default:
语句块n+1;
}
switch 后面的 表达式 可以是任意的具有某个值的表达式。case 关键字后面的值也可以是任意的表达式,实际中最常用的是某个类型的直接量。
switch 语句的执行流程是这样的:首先计算 switch 关键字后面的表达式,然后按照从上到下的顺序计算每个 case 后的表达式并和 switch 表达式的值进行比较。
当 switch 表达式的值与某个 case 表达式的值相等时,就执行此 case 后的语句块;如果 switch 表达式的值与所有 case 表达式的值都不相等,则执行语句中的 default: 的语句块;如果没有 default: 标签,则跳过整个 switch 语句。
另外,break 语句用于结束 switch 语句,从而使 JavaScript 只执行匹配的分支。如果没有 break 语句,则该 switch 语句的所有分支都将被执行,switch 语句也就失去了使用的意义。
需要注意的是:对每个 case 的匹配操作是 === 严格相等运算符比较操作,即两个表达式的值必须同时满足值和类型都相等才算相等。
下面使用 switch 语句修改 JS if else语句 一节中的例 5,代码如下所示。
【例 1】switch 语句的使用。
!doctype html html head meta charset= utf-8 title switch语句的使用 /title script window.onload = function (){ var oText = document.getElementById( text1 var oBtn = document.getElementById( btn1 oBtn.onclick = function (){ var score = oText.value; //获取文本框中输入的成绩 switch(Math.floor(score/10)){ //除法操作使score字符串隐式转换为数字 case 6: alert( 成绩及格! break; case 7: alert( 成绩中等! break; case 8: alert( 成绩良好! break; case 9: case 10: alert( 成绩优秀! break; default: alert( 成绩不理想! /script /head body body 请输入成绩: input type= text id= text1 / input type= button id= btn1 value= 提交 / /body /html
上述代码中的 floor(value) 方法是 Math 内置对象的一个方法,功能是返回一个小于等于参数 value 的最小整数,例如 Math.floor(89/10)=Math.floor(8.9)=8。可见如果成绩是分布在 1~100,则使用 floor(score/10) 方法可以得到每一段成绩对应的数字分别为 1~10,再通过判断 floor(score/10) 值为哪个数字就可以知道成绩的等级了。
上述代码首先计算 switch 中的表达式 Math.floor(score/10),然后将该值按从上到下的顺序依次跟 case 后面的值比较,如果相等,则执行该 case 后面的代码并退出 switch 语句;如果跟所有的 case 后面的值比较都不相等,则执行 default: 后面的语句块。需要注意的是,case9 后面没有 break 语句,这样当 switch 表达式的值是 9 时,程序会执行完 case9 后继续执行 case10,然后跳出。
需要注意的是:例 1 只针对输入的值在 0~100 之间有效,如果超出 100,则判断结果出错。对 0~100 之间的输入值,运行结果如下图所示。
![成绩输出结果](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/07/20/20210720_60f643ba64015.gif)
图 1:成绩输出结果
23954.html
htmljavaJavaScript相关文章
- JS与或运算「建议收藏」
- js面试题及答案2020_JS面试题大全
- js 字符串截取(包含中英文)
- js全局变量详解
- 【说站】js switch语句的特性
- 【说站】js try/catch语句如何使用
- Node.js中Http模块
- js中四舍五入的方法_JS取整
- JS对象转数组_js怎么把数组转成对象
- JavaScript刷LeetCode拿offer-js版字典_2023-02-28
- 3. 「vue@2.6.11 源码分析」vue.js 首次执行做了哪些事情
- 原生 JS 实现 HTML 转 Markdown,以及其实现逻辑(html2md.js 或 html2markdown.js)
- 快速掌握JS操作MySQL数据库技巧(js操作mysql数据库)
- 用SQL Server和JS实现数据库管理技术(sqlserver.js)
- 妙用JS获取Oracle信息的快速方法(js获取Oracle)
- JS实时链接Oracle让数据库访问更便捷(js实时连接oracle)
- 使用Oracle和JS开发新一代应用仿真世界(oracle js)
- 在js中使用"with"语句中跨frame的变量引用问题
- js的with语句使用方法
- JS日历控件(蓝色)
- JS函数验证总结(方便js客户端输入验证)
- JS防止用户多次提交的简单代码
- node.js中的console.timeEnd方法使用说明
- 我用的一些Node.js开发工具、开发包、框架等总结