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 相关文章推荐
二级域名或跨域共享Cookies的实现方法
Aug 07 Javascript
如何确保JavaScript的执行顺序 之实战篇
Mar 03 Javascript
从阶乘函数对比Javascript和C#的异同
May 31 Javascript
jquery mobile changepage的三种传参方法介绍
Sep 13 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
Feb 29 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
Nov 09 Javascript
JS实现的样式切换功能tableCSS实例
Dec 30 Javascript
简单实现js菜单栏切换效果
Mar 04 Javascript
关于Angularjs中跨域设置白名单问题
Apr 17 Javascript
深入理解Antd-Select组件的用法
Feb 25 Javascript
JS中锚点链接点击平滑滚动并自由调整到顶部位置
Feb 06 Javascript
关于Js中new操作符的作用详解
Feb 21 Javascript
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
PHP中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
使用JavaScript创建新样式表和新样式规则
2016/06/14 PHP
PHP自动识别当前使用移动终端
2018/05/21 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
Js 时间函数getYear()的使用问题探讨
2013/04/01 Javascript
JS保留小数点(四舍五入、四舍六入)实现思路及实例
2013/04/25 Javascript
Express.JS使用详解
2014/07/17 Javascript
纯javascript版日历控件
2016/11/24 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
web前端vue之CSS过渡效果示例
2018/01/10 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
[37:45]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第二场 12.09
2020/12/11 DOTA
Python中for循环详解
2014/01/17 Python
python使用urlparse分析网址中域名的方法
2015/04/15 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
完美的中文自荐信
2014/05/24 职场文书
硕士生找工作求职信
2014/07/05 职场文书
中国梦读书活动总结
2014/07/10 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
2015年计划生育责任书
2015/05/08 职场文书
亮剑观后感600字
2015/06/05 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
MySQL数字类型自增的坑
2021/05/07 MySQL