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 $.ajax入门应用一
Nov 19 Javascript
修复ie8&amp;chrome下window的resize事件多次执行
Oct 20 Javascript
读取input:file的路径并显示本地图片的方法
Sep 23 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
May 05 Javascript
JavaScript实现Java中Map容器的方法
Oct 09 Javascript
基于JavaScript实现前端文件的断点续传
Oct 17 Javascript
JavaScript学习笔记--常用的互动方法
Dec 07 Javascript
利用JS实现简单的瀑布流加载图片效果
Apr 22 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
Mar 28 Javascript
vue脚手架及vue-router基本使用
Apr 09 Javascript
新手简单了解vue
May 29 Javascript
Vue看了就会的8个小技巧
Jan 21 Vue.js
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实现下载生成某链接快捷方式的解决方法
2013/05/07 PHP
PHP编写RESTful接口
2016/02/23 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
csdn 批量接受好友邀请
2009/02/19 Javascript
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
2017/05/12 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
Python实现控制台输入密码的方法
2015/05/29 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
详解Python3注释知识点
2019/02/19 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
2020/01/15 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
2020/04/22 Python
python安装和pycharm环境搭建设置方法
2020/05/27 Python
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
大学生自我鉴定范文模板
2014/01/21 职场文书
安全生产汇报材料
2014/02/17 职场文书
导师对论文的学术评语
2015/01/04 职场文书
2015年度房地产工作总结
2015/04/09 职场文书
网吧管理制度范本
2015/08/05 职场文书
springboot临时文件存储目录配置方式
2021/07/01 Java/Android
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫
MySQL时区造成时差问题
2022/04/13 MySQL