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 日期时间函数(经典+完善+实用)
May 27 Javascript
一个可绑定数据源的jQuery数据表格插件
Jul 17 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
Mar 15 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
Dec 08 Javascript
使用delegate方法为一个tr标签加一个链接
Jun 27 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
Oct 28 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
Dec 21 Javascript
JQuery实现动态操作表格
Jan 11 Javascript
js仿拉勾网首页穿墙广告效果
Mar 08 Javascript
浅析前端路由简介以及vue-router实现原理
Jun 01 Javascript
vue封装一个简单的div框选时间的组件的方法
Jan 06 Javascript
微信小程序单选框自定义赋值
May 26 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
实用函数3
2007/11/08 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
php多用户读写文件冲突的解决办法
2013/11/06 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
2016/07/21 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
PHP7新增函数
2021/03/09 PHP
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
XML的代替者----JSON
2007/07/21 Javascript
自写的一个jQuery圆角插件
2010/10/26 Javascript
js实现二代身份证号码验证详解
2014/11/20 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
对于Python异常处理慎用“except:pass”建议
2015/04/02 Python
python实现多线程端口扫描
2019/08/31 Python
如何运行带参数的python脚本
2019/11/15 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
篝火晚会主持词
2014/03/25 职场文书
感恩母亲节演讲稿
2014/05/07 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
万里长城导游词
2015/01/30 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
导游词之西递宏村
2019/12/10 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang