使用JavaScript switch case 另类写法

习惯了C#的语法,遇到多分支调用的情况,除了最简单的if-else,那么就是switch-case了,所以使用JavaScript的时候就很容易会写出下面这样的代码:


代码如下:

// JScript source code
//something的值是1、2、3...
switch (something) {
case 1:
todoA();
break;
case 2:
todoB();
break;
case 3:
todoC();
break;
//...
}

这样的代码本身也没什么,只是可读性差一些,看起来有点费劲,JavaScript虽然支持switch-case,不过有一种更好的写法值得推广:


代码如下:

// JScript source code
//something的值是1、2、3...
var cases = {
1: todoA,
2: todoB,
3: todoC
};
if (cases[something]) {
cases[something]();
}

作者:Justin
出处:http://justinw.cnblogs.com/

(0)

相关推荐

  • JavaScript If...Else 声明

    JavaScript中的条件声明用于完成不同条件下的行为. 条件声明 在你编写代码时,经常需要根据不同的条件完成不同的行为.可以在代码中使用条件声明来完成这个任务. 在JavaScript中,我们可以使用下面几种条件声明: if 声明  在一个指定的条件成立时执行代码.  if...else 声明  在指定的条件成立时执行代码,当条件不成立时执行另外的代码.  if...else if....else 声明  使用这个声明可以选择执行若干块代码中的一个.  switch 声明  使用这个声明可以

  • javascript 从if else 到 switch case 再到抽象

    我的答案是,超过两个 else 的 if ,或者是超过两个 case 的 switch .可是在代码中大量使用 if else 和 switch case 是很正常的事情吧?错!绝大多数分支超过两个的 if else 和 switch case 都不应该以硬编码( hard-coded )的形式出现. 复杂分支从何而来 首先我们要讨论的第一个问题是,为什么遗留代码里面往往有那么多复杂分支.这些复杂分支在代码的首个版本中往往是不存在的,假设做设计的人还是有点经验的话,他应该预见将来可能需要进行扩展

  • swtich/if...else的替代语句

    很多时候,if...else...有很多判断分支选项,就会见到: if (animal === 'dog') { // TO DO 'dog' } else if (animal === 'cat') { // TO DO 'cat' } else if (animal === 'bird') { // TO DO 'bird' } else if (animal === 'fish') { // TO DO 'fish' } else { // TO DO 'other' } 确实通俗易懂,且

  • JavaScript switch case 的用法实例[范围]

    几个例子: 复制代码 代码如下: function case1(num){ switch(num){ case 1: document.writeln("show 1!!"); break; case 2: document.writeln("show 2!!"); break; case 3: document.writeln("show 3!!"); break; default: document.writeln("show ot

  • JavaScript Switch 声明

    JavaScript中的条件声明用于完成基于不同条件的行为. JavaScript Switch 声明 如果希望选择执行若干代码块中的一个,你可以使用switch声明: 语法: 复制代码 代码如下: switch(n)     {     case 1:       执行代码块 1       break     case 2:       执行代码块 2       break     default:       如果n即不是1也不是2,则执行此代码     } 工作原理:switch后面的

  • 使用JavaScript switch case 另类写法

    习惯了C#的语法,遇到多分支调用的情况,除了最简单的if-else,那么就是switch-case了,所以使用JavaScript的时候就很容易会写出下面这样的代码: 复制代码 代码如下: // JScript source code //something的值是1.2.3... switch (something) { case 1: todoA(); break; case 2: todoB(); break; case 3: todoC(); break; //... } 这样的代码本身也

  • JS中比Switch...Case更优雅的多条件判断写法

    前言 前几天,本人负责编写网站上线的环境判断功能,其中涉及到大量多条件判断的code.对于多条件判断写法,大部分程序员都是采用if...else if...else或者switch...case的写法,但是有一种多条件判断写法,比传统写法更加有趣且优雅--对象属性判断法. 实例展示 废话不多说了,下面直接用三个实例,给大家分别展示三种不同的多条件判断写法. 1. if...else if...else function whatFood(mealtime) { let food = ''; if

  • 详解JavaScript的另类写法

    JavaScript 是属于网络的脚本语言! JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. JavaScript 是因特网上最流行的脚本语言. JavaScript 很容易使用!你一定会喜欢它的! JavaScript一种解释型的脚本语言,语法灵活,让不同的人对同一个功能有很多种不同的写法.怎样组织JavaScript代码才能让别人一眼看出你不简单呢?是否很期待别人在看完你的代码之后感叹一句"原来还可以这样写"呢? 匿名

  • JavaScript 装逼指南(js另类写法)

    下面就是具体的写法,建议大家逐个测试一下,加深印象 1.转Boolean类型 这个较为常用. !!'a'//true 通过两个取反,可以强制转换为Boolean类型. !!是将表达式强制转化为bool值的运算,运算结果为true或false,表达式是什么值,结果就是对应的bool值,不再取非. 不是取非再取非的意思!!! !!false=false;    要注意false和"false" 的区别!!!!! !!"false"=true; !!true=true;

  • 使用命令对象代替switch语句的写法示例

    曾经有人说过,真正好的程序是没有if..else的,当然switch还不如if..else.JS规范里面是禁止使用switch的. 命令对象(command object)就完美的解决了这个问题. 引用一篇国外的博客提到的: JavaScript 有着良好的控制流程语句,这些语句往往用花括号包裹着.不过有个例外:switch - case 语句.switch - case 的奇怪之处在于你必须在每个 case 末尾加上关键字 break,以防止流程控制权穿越进入下一个 case 语句中.穿越是指

  • 解释&&和||在javascript中的另类用法

    又开始研究起 Titanium 来,发现其官方出品的MVC框架(Alloy)还是挺不错的,刚开始苦于没有好的代码来学习,文档又少,所以一直没去详细研究,后来发现原来官方的 CodeStrong 就是一套非常不错的学习代码,只要看通了其整套代码,相信对Alloy的使用也基本会了- 在看其源码的同时,发现很多地方使用了诸如以下的用法: $.clouds && ($.index.add($.clouds)); 开始不是很理解,毕竟平时这样用的也少,上了下google后才知道原来这样写法非常方便好

  • 使用 Python 实现简单的 switch/case 语句的方法

    在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简单高效,对于有一定经验的Python玩家不得不承认,的确如此. 但今天我们还是来看看如果一定要用Python来Switch / Case,可以怎么玩. 语法约束 我们先定义一下Switch/Case应该怎么表达,为了简单我们可以让它长成这样. def cn(): print('cn') def us(): print('us') switch(lang).c

随机推荐