当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript教程:switch-case

Javascript
经验几则 推荐
一个很Cool的JS菜单效果
[原创]菜单制作学习一个小东西
基于Web标准的UI组件 — 树状菜单(2)
[原创]防止网站内容被小偷采集的js代码
javascript字典探测用户名工具
通过ifame指向的页面高度调整iframe的高度
实例:尽可能写友好的Javascript代码
关于javascript的“静态类"
拖动层
教学演示-UBB,剪贴板,textRange及其他
多线程的全选复选框
不错的一个日期输入 动态
非常不错的一个javascript 类
提示广告代码
各种浏览器兼容问题
重定向实现代码
[原创]网络复制内容时常用的正则+editplus
Js的MessageBox
注释的艺术:JS里直接写HTML,无需转义

Javascript 中的 JavaScript教程:switch-case


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 128 ::
收藏到网摘: n/a

我很年轻,还没有做过很长的编程。所以我对使用switch-case 语法没有什么很深刻的印象,至少在我的记忆中是这样。或许你认为这是一件坏事情。你甚至会怀疑我为什么不使用它们。我真的不知道为什么,似乎我天生就不喜欢使用它,如下所示:

switch (something) {
case 1:
doX();
break;
case 2:
doY();
break;
case 3:
doN();
break;
// And so on...
}

显然,虚构此代码的作者不够了解使用其他JavaScript方法来构建此功能。其实有很多种方式更适合这种情况,而不是一个丑陋的switch. 有许多许多更轻松,更优雅的方式来实现这种功能。
switch-case组合肯定是非常有用的,当你有一个变量并且依靠它的值的不同来做不同的事情。使用多个if-else不太恰当,所以人们通常使用switch-case来代替多个if-else.我敢肯定你也是.
上面的例子依赖于 something 判断 ,然后根据条件运行doX , doY或doN 。在JavaScript中,同样的逻辑可以表示一个简单的查找表的形式————对象,如下所示:

var cases = {
1: doX,
2: doY,
3: doN
};
if (cases[something]) {
cases[something]();
}

这不仅简洁,而且也可以重复使用和修改条件。所有条件都是对象的一部分,因此,如果您需要改变某些条件那就非常简单了。

所以,我想说的是:请不要使用switch-case,除非绝对必要的。 为什么? 因为有更好的替代品,比它更简单!

关于“ switch-case”的语法,请浏览:http://en.wikipedia.org/wiki/Switch_statement