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 相关文章推荐
prototype Element学习笔记(Element篇三)
Oct 26 Javascript
Jquery为单选框checkbox绑定单击click事件
Dec 18 Javascript
javascript学习(一)构建自己的JS库
Jan 02 Javascript
原生JS实现LOADING效果
Mar 16 Javascript
常用DOM整理
Jun 16 Javascript
ajax在兼容模式下失效的快速解决方法
Mar 22 Javascript
jQuery实现选项卡功能(两种方法)
Mar 08 Javascript
node.js连接mysql与基本用法示例
Jan 05 Javascript
浅谈JavaScript 代码简洁之道
Jan 09 Javascript
微信小程序登录数据解密及状态维持实例详解
May 06 Javascript
js console.log打印对象时属性缺失的解决方法
May 23 Javascript
vue使用openlayers实现移动点动画
Sep 24 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
2006/12/13 PHP
一个数据采集类
2007/02/14 PHP
php判断变量类型常用方法
2012/04/24 PHP
php读取csv实现csv文件下载功能
2013/12/18 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
PHP5.2下preg_replace函数的问题
2015/05/08 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
Yii实现文章列表置顶功能示例
2016/10/18 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
js实现导航吸顶效果
2017/02/24 Javascript
require.js中的define函数详解
2017/07/10 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
javascript中floor使用方法总结
2019/02/02 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
Python open()文件处理使用介绍
2014/11/30 Python
Django models.py应用实现过程详解
2019/07/29 Python
python获取Pandas列名的几种方法
2019/08/07 Python
python中自带的三个装饰器的实现
2019/11/08 Python
pytorch 修改预训练model实例
2020/01/18 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
如何查询Oracle数据库中已经创建的索引
2013/10/11 面试题
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
会计电算化专业自荐信
2014/03/15 职场文书
捐书活动倡议书
2015/04/27 职场文书
毕业实习感受与体会
2015/05/26 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL