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 相关文章推荐
使用js检测浏览器的实现代码
May 14 Javascript
jQuery多级弹出菜单插件ZoneMenu
Dec 18 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
Jan 13 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
Apr 12 Javascript
Thinkjs3新手入门之添加一个新的页面
Dec 06 Javascript
详解用Node.js写一个简单的命令行工具
Mar 01 Javascript
JS面向对象的程序设计相关知识小结
May 26 Javascript
微信小程序实现天气预报功能
Jul 18 Javascript
Vue-Router基础学习笔记(小结)
Oct 15 Javascript
vue实现form表单与table表格的数据关联功能示例
Jan 29 Javascript
Vue发布项目实例讲解
Jul 17 Javascript
JSONObject与JSONArray使用方法解析
Sep 28 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
如何使用PHP往windows中添加用户
2006/12/06 PHP
一步一步学习PHP(6) 面向对象
2010/02/16 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
js表数据排序 sort table data
2009/02/18 Javascript
JQuery Ajax 跨域访问的解决方案
2010/03/12 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
移动前端图片压缩上传的实例
2017/12/06 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
2018/01/16 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
[00:34]拔城逐梦,热血永恒!2020(秋)完美世界城市挑战赛报名开启
2020/10/09 DOTA
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
Python数据类型之List列表实例详解
2019/05/08 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
python3 mmh3安装及使用方法
2019/10/09 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
Python学习笔记之装饰器
2020/08/06 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
Python 实现键盘鼠标按键模拟
2020/11/18 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
印尼网上商店:Alfacart.com
2019/03/11 全球购物
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
出纳员岗位职责风险
2014/03/06 职场文书
学生检讨书范文
2014/10/30 职场文书
介绍长城的导游词
2015/01/30 职场文书
婚庆司仪开场白
2015/05/29 职场文书
幼儿园教师辞职信
2019/06/21 职场文书