JavaScript条件判断_动力节点Java学院整理


Posted in Javascript onJune 26, 2017

JavaScript使用if () { ... } else { ... }来进行条件判断。例如,根据年龄显示不同内容,可以用if语句实现如下:

var age = 20;
if (age >= 18) { // 如果age >= 18为true,则执行if语句块
  alert('adult');
} else { // 否则执行else语句块
  alert('teenager');
}

其中else语句是可选的。如果语句块只包含一条语句,那么可以省略{}:

var age = 20;
if (age >= 18)
  alert('adult');
else
  alert('teenager');

省略{}的危险之处在于,如果后来想添加一些语句,却忘了写{},就改变了if...else...的语义,例如:

var age = 20;
if (age >= 18)
  alert('adult');
else
  console.log('age < 18'); // 添加一行日志
  alert('teenager'); // <- 这行语句已经不在else的控制范围了

上述代码的else子句实际上只负责执行console.log('age < 18');,原有的alert('teenager');已经不属于if...else...的控制范围了,它每次都会执行。

相反地,有{}的语句就不会出错:

var age = 20;
if (age >= 18) {
  alert('adult');
} else {
  console.log('age < 18');
  alert('teenager');
}

这就是为什么我们建议永远都要写上{}。

多行条件判断

如果还要更细致地判断条件,可以使用多个if...else...的组合:

var age = 3;
if (age >= 18) {
  alert('adult');
} else if (age >= 6) {
  alert('teenager');
} else {
  alert('kid');
}

上述多个if...else...的组合实际上相当于两层if...else...:

var age = 3;
if (age >= 18) {
  alert('adult');
} else {
  if (age >= 6) {
    alert('teenager');
  } else {
    alert('kid');
  }
}

但是我们通常把else if连写在一起,来增加可读性。这里的else略掉了{}是没有问题的,因为它只包含一个if语句。注意最后一个单独的else不要略掉{}。

请注意,if...else...语句的执行特点是二选一,在多个if...else...语句中,如果某个条件成立,则后续就不再继续判断了。

Javascript 相关文章推荐
什么是Node.js?Node.js详细介绍
Jun 01 Javascript
javascript中的throttle和debounce浅析
Jun 06 Javascript
js判断手机和pc端选择不同执行事件的方法
Jan 30 Javascript
jQuery实现当前页面标签高亮显示的方法
Mar 10 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
Aug 17 Javascript
JS中常用的正则表达式
Sep 29 Javascript
vue.js 获取select中的value实例
Mar 01 Javascript
微信小程序定位当前城市的方法
Jul 19 Javascript
JS加密插件CryptoJS实现的DES加密示例
Aug 16 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
Jan 22 Vue.js
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
JavaScript脚本语言是什么_动力节点Java学院整理
Jun 26 #Javascript
JavaScript简介_动力节点Java学院整理
Jun 26 #Javascript
JavaScript数组_动力节点Java学院整理
Jun 26 #Javascript
Angular 表单控件示例代码
Jun 26 #Javascript
jQuery实现一个简单的验证码功能
Jun 26 #jQuery
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
Jun 26 #jQuery
JavaScript实现三级联动菜单实例代码
Jun 26 #Javascript
You might like
优化使用mysql存储session的php代码
2008/01/10 PHP
php安装swoole扩展的方法
2015/03/19 PHP
PHP输入输出流学习笔记
2015/05/12 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
屏蔽Flash右键信息的js代码
2010/01/17 Javascript
js实现广告漂浮效果的小例子
2013/07/02 Javascript
ie7+背景透明文字不透明超级简单的实现方法
2014/01/17 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
Angular2的管道Pipe的使用方法
2017/11/07 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
python 编程之twisted详解及简单实例
2017/01/28 Python
由浅入深讲解python中的yield与generator
2017/04/05 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2018/06/09 Python
python控制台实现tab补全和清屏的例子
2019/08/20 Python
tensorflow 初始化未初始化的变量实例
2020/02/06 Python
简单了解如何封装自己的Python包
2020/07/08 Python
python Tornado框架的使用示例
2020/10/19 Python
HTML5制作表格样式
2016/11/15 HTML / CSS
捷克鲜花配送:Florea.cz
2018/10/29 全球购物
Lentiamo荷兰:在线订购隐形眼镜、隐形眼镜液和太阳镜
2019/10/25 全球购物
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
自我评价怎么写好呢?
2013/12/05 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
2014机关党员干部“正风肃纪”思想汇报
2014/09/15 职场文书
长城的导游词
2015/01/30 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书
Golang 实现 WebSockets 之创建 WebSockets
2022/04/24 Golang