JavaScript中switch语句的用法详解


Posted in Javascript onJune 03, 2015

 可以使用多个if... else if语句,如前面的章节,执行多路分支。然而,这并不总是最佳的解决方案,尤其是当所有分支的依赖单一的变量的值。

使用JavaScript1.2开始,你可以用它处理的正是这种情况,使用一个switch语句,它这样做更有效,如果不是反复地使用if... else if语句。
语法

switch语句的基本语法给出一个expression ,以评估计算几种不同的语句基于该表达式的值来执行。解释器检查对表达式的值的每一种情况,直到找到一个匹配。如果没有匹配,则缺省(default)条件将被使用。

switch (expression)
{
 case condition 1: statement(s)
          break;
 case condition 2: statement(s)
          break;
  ...
 case condition n: statement(s)
          break;
 default: statement(s)
}

break语句指示的解释器是特定情况下结束。如果它们被省略,则解释器将继续在以下每个情况(case)执行每个语句。

我们将解释break语句在循环控制这一章。
例子:

下面的例子说明了一个基本的while循环:

<script type="text/javascript">
<!--
var grade='A';
document.write("Entering switch block<br />");
switch (grade)
{
 case 'A': document.write("Good job<br />");
      break;
 case 'B': document.write("Pretty good<br />");
      break;
 case 'C': document.write("Passed<br />");
      break;
 case 'D': document.write("Not so good<br />");
      break;
 case 'F': document.write("Failed<br />");
      break;
 default: document.write("Unknown grade<br />")
}
document.write("Exiting switch block");
//-->
</script>

这将产生以下结果:

Entering switch block
Good job
Exiting switch block

 
例子:

考虑这样一种情况,如果不使用break语句:

<script type="text/javascript">
<!--
var grade='A';
document.write("Entering switch block<br />");
switch (grade)
{
 case 'A': document.write("Good job<br />");
 case 'B': document.write("Pretty good<br />");
 case 'C': document.write("Passed<br />");
 case 'D': document.write("Not so good<br />");
 case 'F': document.write("Failed<br />");
 default: document.write("Unknown grade<br />")
}
document.write("Exiting switch block");
//-->
</script>

这将产生以下结果:

Entering switch block
Good job
Pretty good
Passed
Not so good
Failed
Unknown grade
Exiting switch block
Javascript 相关文章推荐
jquery创建表格(自动增加表格)代码分享
Dec 25 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
Jun 12 Javascript
extjs每个组件要设置唯一的ID否则会出错
Jun 15 Javascript
js点击button按钮跳转到另一个新页面
Oct 10 Javascript
js实现表单Radio切换效果的方法
Aug 17 Javascript
详解Angular2响应式表单
Jun 14 Javascript
bootstrap-Treeview实现级联勾选
Nov 23 Javascript
解决vue中修改export default中脚本报一大堆错的问题
Aug 27 Javascript
微信小程序module.exports模块化操作实例浅析
Dec 20 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
May 01 Javascript
JavaScript Reflect Metadata实现详解
Dec 12 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
Nov 11 Javascript
jquery中添加属性和删除属性
Jun 03 #Javascript
JavaScript中的条件判断语句使用详解
Jun 03 #Javascript
简单介绍JavaScript的变量和数据类型
Jun 03 #Javascript
在HTML中插入JavaScript代码的示例
Jun 03 #Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
Jun 03 #Javascript
在浏览器中打开或关闭JavaScript的方法
Jun 03 #Javascript
浅谈javascript中基本包装类型
Jun 03 #Javascript
You might like
收音机鉴频器对声音的影响和频偏分析
2021/03/02 无线电
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
php实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
Javascript闭包(Closure)详解
2015/05/05 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
Python3.7中安装openCV库的方法
2018/07/11 Python
python机器学习之KNN分类算法
2018/08/29 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
2020/02/28 Python
详解Python IO口多路复用
2020/06/17 Python
python中有帮助函数吗
2020/06/19 Python
Python如何对XML 解析
2020/06/28 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
金融专业个人求职信
2013/09/22 职场文书
恐龙的灭绝教学反思
2014/02/12 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
社区巾帼文明岗事迹材料
2014/06/03 职场文书
2015年安全生产月工作总结
2015/07/27 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
python随机打印成绩排名表
2021/06/23 Python
实操Python爬取觅知网素材图片示例
2021/11/27 Python