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 相关文章推荐
Javascript 通过json自动生成Dom的代码
Apr 01 Javascript
禁止选中文字兼容IE、Chrome、FF等
Sep 04 Javascript
调用HttpHanlder的几种返回方式小结
Dec 20 Javascript
angularJS结合canvas画图例子
Feb 09 Javascript
XML文件转化成NSData对象的方法
Aug 12 Javascript
详解AngularJS实现表单验证
Dec 10 Javascript
javascript实现瀑布流加载图片原理
Feb 02 Javascript
JS onkeypress兼容性写法详解
Apr 27 Javascript
简单分析javascript中的函数
Sep 10 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
Jan 05 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
Sep 27 Javascript
React冒泡和阻止冒泡的应用详解
Aug 18 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
拼音码表的生成
2006/10/09 PHP
PHP $_FILES中error返回值详解
2014/01/30 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
php目录拷贝实现方法
2015/07/10 PHP
php格式化json函数示例代码
2016/05/12 PHP
Javascript 事件流和事件绑定
2009/07/16 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
javaScript产生随机数的用法小结
2018/04/21 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
JS实现吸顶特效
2020/01/08 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
Python探索之ModelForm代码详解
2017/10/26 Python
Python栈算法的实现与简单应用示例
2017/11/01 Python
Python绘制动态水球图过程详解
2020/06/03 Python
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
乐天旅游台湾网站:Rakuten Travel TW
2017/06/01 全球购物
毕业生多媒体设计求职信
2013/10/12 职场文书
自我评价范文
2013/12/22 职场文书
大学班长的职责
2014/01/27 职场文书
校园广播稿500字
2014/02/04 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
语文教师求职信范文
2015/03/20 职场文书
老人节主持词
2015/07/04 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
2021/05/29 MySQL