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 相关文章推荐
msn上的tab功能Firefox对childNodes处理的一个BUG
Jan 21 Javascript
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
Aug 04 Javascript
IE6已终止操作问题的2种情况及解决
Apr 23 Javascript
javascript实现的简单计时器
Jul 19 Javascript
jquery验证邮箱格式并显示提交按钮
Nov 07 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
May 03 Javascript
Javascript实现信息滚动效果
May 18 Javascript
vue增删改查的简单操作
Jul 15 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
Mar 12 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
Aug 28 Javascript
玩转vue的slot内容分发
Sep 22 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
Nov 25 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中extract()函数的妙用分析
2012/07/11 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
Django 中 cookie的使用
2017/08/17 PHP
jQuery 表单验证扩展代码(二)
2010/10/20 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
深入理解JavaScript编程中的原型概念
2015/06/25 Javascript
深入剖析JavaScript中的函数currying柯里化
2016/04/29 Javascript
js原型链与继承解析(初体验)
2016/05/09 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
javascript this详细介绍
2016/09/19 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
微信小程序图片横向左右滑动案例
2017/05/19 Javascript
微信小程序支付PHP代码
2018/08/23 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
2018/09/30 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
Python松散正则表达式用法分析
2016/04/29 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
HTML5 Canvas实现放大镜效果示例
2020/03/25 HTML / CSS
Hotels.com中国区:好订网
2016/08/18 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
2014年党务工作总结
2014/11/25 职场文书
大学生年度个人总结
2015/02/15 职场文书
酒店前台辞职书
2015/02/26 职场文书
任命通知范文
2015/04/21 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
详解nodejs内置模块
2021/05/06 NodeJs
Python利用folium实现地图可视化
2021/05/23 Python
详解JAVA中的OPTIONAL
2021/06/14 Java/Android