【分享】Switch Case中的经典(经典用法)


    昨天在看JavaScript优化脚本时,其中有一条是使用三元运算符以及switch语句。关于优化代码时,使用Switch Case比If Else要快,这点我们知道,但是三元运算符呢?
    在JavaScript精粹一书中提到,使用三元运算符比使用If Else语句要快。关于原因,书中并没有过多的介绍,我想这大概是因为使用三元运算符要比使用If Else代码要优化的多吧。好了,下面我们来看一个使用三元运算符的例子吧。
Var grade=score>=70?’pass’:fail;

    此外,三元运算符也可以像If Else一样多层嵌套使用,不过为了增强其可读性,通常将代码分行写。看一下小例子:
Var grade=score>=90?’Good’:score>70?’Well’:’fail’;
Var grade=score>=90?’Good’:
          Score>70?’Well’:
          ‘fail’;
    怎么样,上面使用三元运算符要比使用If Else节省不少代码空间吧。
    关于三元运算符就说这么多,下面再说两个你没有用到过的Switch Case语句,不信?看看你就知道了。
Classical Switch Case:
    Switch case (score){
        Case 90:
            grade=’Good’;
            Break;
        Case 70:
            grade=’Well’;
            Break;
        Default:
            Grade=’fail’;
    }

New Pet Switch Case:
	Switch case (true){
		Case score>=90:
			Var grade=’Good’;
			Break;
		Case score>70:
			Var grade=’Well’;
			Break;
		Default:
			Var grade=’fail’;
    }

Fast Switch Case:
	Switch (score>=70){
		Case true:
			Var grade=’pass’;
			Break;
		Case false:
			Var grade=’fail’;
			Break;
		Default:
			Grade=’It’s impossible to get this result!’;
	}

    关于上面这三个Switch Case,毫无疑问,第一个是我们最熟悉的,也是最常用的,而且通过比较,可以发现第一个Switch Case的代码要比第二个要简单而且优化。但是两个Switch Case语句判断的条件不同,第一个判断的是一个表达式,第二个判断的是一个Bool值,我想判断Bool值应该比判断表达式速度要快。可惜目前百度Google没有给我明确的答案。

    此外,采用第二种判断结构在判断复杂条件时,优势更明显,而且有些复杂结构无法用第一种结构来判断。比如说,我去超市购物了,看到好多东西要买,就买了一些东西回来。如何使用Switch Case来判断我买了什么呢?看Example:
Switch Case (true){
    Case apple>0
        Respose.write(“我买苹果啦!”);
    Case banana>0
        Respose.write(“我买香蕉啦!”);
    Case orange>0
        Respose.write(“我买橘子啦!”);
    Case else
        Respose.write(“忘了带钱了,回家拿钱去吧!”);
}

【参考】:
Switch Case中的经典
文库下载地址


阅读本文后,您的心情是:
 
恶心
愤怒
强赞
感动
路过
无聊
雷囧
关注
知识共享许可协议
评论(0) 浏览(15479) 引用(0)
引用地址:http://blog.baiwand.com/tb.php?sc=50514d&id=185
Tags:
« 【分享】Github上的README.md 编写技巧 【经验】HTML5之Web Storage(本地存储)详解 »

Blogger

  • blogger
  • 天之骄子
  • 职位:研发工程师
    铭言:
    阳光与欢乐同在,
    与我同在
    主页:
    blog.baiwand.com

分类目录

日志归档

主题标签

数据统计

  • 日志:151篇
  • 评论:45条
  • 碎语:264条
  • 引用:0条

链接表

随机日志 »

最新日志 »

最新评论 »

标签云 »

订阅Rss
sitemap