建议8:恰当选用if和switch
相对来说下面几种情况更适合switch结构
- 枚举表达式的值.这种枚举是可以期望的,平行逻辑关系的
- 表达式的值具有离散性,不具有线性的非连续的区间值
- 表达式的值是固定的,不是动态变化的
- 表达式的值是有限的,而不是无限的,一般来说表达式应该比较少
- 表达式的值一般为整数,字符串等类型数据
而if结构更适合下面一些情况:
- 具有复杂的逻辑关系
- 表达式的值具有线性特征,如对连续的区间值进行判断
- 表达式的值是动态的
- 测试任意类型的数据
例如
if(score<60){
  alert('不及格')
}else if(60<= score <75){
  alert('及格')
}else if(75<= score <85){
  alert('良好')
}else if(85<= score <=100){
  alert('优秀')
}
switch(sex){
  case '女':
    alert('女');
    break;
  case '男':
    alert('男');
    break;
  default:
    alert('请选择性别!')
}
建议8:恰当选用if和switch的更多相关文章
- 编写高质量的js之恰当选用if和switch
		switch结构中存在很多限制,存在这些限制的主要目的是提高多重分支结构的执行效率.因此,如果能够使用switch结构,就不要选择if结构. 无论是使用if结构,还是使用switch结构,应该确保下面 ... 
- (第一章)改善JavaScript,编写高质量代码。
		根据<编写高质量代码改善JavaScript程序的188个建议>这本书,来记录我目前所了解的建议方式. 建议1:警惕Unicode乱码 根据ECMA标准规定JavaScript语言可以使用 ... 
- Google开发规范
		v0.2 - Last updated November 8, 2013 源自 Google's C++ coding style rev. 3.274 目录 由 DocToc生成 头文件 ... 
- Google's C++ coding style
		v0.2 - Last updated November 8, 2013 源自 Google's C++ coding style rev. 3.274 目录 由 DocToc生成 头文件 ... 
- python 入门教程
		转载自:http://www.crifan.com/files/doc/docbook/python_beginner_tutorial/release/html/python_beginner_tu ... 
- Android艺术开发探索——第二章:IPC机制(下)
		Android艺术开发探索--第二章:IPC机制(下) 我们继续来讲IPC机制,在本篇中你将会学习到 ContentProvider Socket Binder连接池 一.使用ContentProvi ... 
- Spring系列(零) Spring Framework 文档中文翻译
		Spring 框架文档(核心篇1和2) Version 5.1.3.RELEASE 最新的, 更新的笔记, 支持的版本和其他主题,独立的发布版本等, 是在Github Wiki 项目维护的. 总览 历 ... 
- JS高程3.基本概念(5)语句
		1.if语句 2.do-while语句:后测循环语句,循环体内的代码至少执行一次. 3.while语句:前测循环语句. 4.for语句:前测循环语句. 注意:在ECMAScript中不存在块级作用域, ... 
- 如何在Windows中编译Linux Unix的代码(采用cygwin)?
		来源:http://www.cnblogs.com/rocky_yi/archive/2009/12/08/cygwin.html 作者:rocky_y 很多经典算法往往是用C++在linux下实 ... 
随机推荐
- Java枚举的作用和用法
			从没有枚举的时代说起 在枚举出现之前,如果想要表示一组特定的离散值,往往使用一些常量.例如: [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 ... 
- 初等数论-Base-2(扩展欧几里得算法,同余,线性同余方程,(附:裴蜀定理的证明))
			我们接着上面的欧几里得算法说 扩展欧几里得算法 扩展欧几里德算法是用来在已知a, b求解一组x,y,使它们满足贝祖等式\(^①\): ax+by = gcd(a, b) =d(解一定存在,根据数论中的 ... 
- 吴裕雄--天生自然KITTEN编程:一箭穿心
- 2020 将至,Tester 你过得还好么?
			"昏天黑地地执行用例.跟踪 bug.与开发和产品争吵.工作被压在产品发布的最后阶段,因而要背负整个团队的压力,在 retro meeting 时承受着疯狂 diss......" ... 
- HTC“卖身”:那些辉煌、落寞与终结
			9月21日,HTC董事会决议通过与谷歌签订合作协议书.前者专注Pixel手机设计研发人才加入谷歌,HTC知识产权非专属授权予Google使用,交易作价11亿美元.事实上,这与微软收购诺基亚不同,并非是 ... 
- 「知乎」对中国用户而言,Pure Android 是否比 MIUI 或 Flyme 体验更好? - Donnie的博客
			这篇文章转载自我在知乎上的回答 哎呀-不要站队嘛.其实这是一个很有意思的题目,让我们一点点来看 哦对,谢妖-.本人是Nexus 5用户,系统当然是Pure Android KitKat啦(臭谷粉!点D ... 
- 非对称加密算法RSA 学习
			非对称加密算法RSA 学习 RSA加密算法是一种非对称加密算法.RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Ad ... 
- Java常见的类——Number和Math类
			但我们使用数据时,我们一般使用内置数据类型,列如:byte,int,long,double等,但是在实际开发过程中,我们一般遇到的是需要使用对象,这时,我们就可以使用 Java 专门为每一个数据类型提 ... 
- Maven项目中的packaging标签
			<packaging>XXX</packaging> 项目的打包类型xxx:pom.jar.war.(packing默认是jar类型). pom是最简单的打包类型,pom 项目 ... 
- 菜鸟系列Golang学习 — 切片
			切片简介 切片也是一种数据类型,在Golang中,切片底层基于数组实现的. 我们定义切片如下 var slice []int 切片之所以出现,是为了更好的利用资源,管理数据,如果使用数组,则我们一开始 ... 
