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 相关文章推荐
js 深拷贝函数
Dec 04 Javascript
Javascript类库的顶层对象名用户体验分析
Oct 24 Javascript
jquery显示和隐藏div特效实例
Feb 27 Javascript
JQuery仿小米手机抢购页面倒计时效果
Dec 16 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
Oct 22 Javascript
javascript实现方法调用与方法触发小结
Mar 26 Javascript
jQ处理xml文件和xml字符串的方法(详解)
Nov 22 Javascript
React Native自定义控件底部抽屉菜单的示例
Feb 08 Javascript
Angular4 反向代理Details实践
May 30 Javascript
微信小程序module.exports模块化操作实例浅析
Dec 20 Javascript
小程序日历控件使用方法详解
Dec 29 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
Jul 10 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
收音机怀古---春雷3P7图片欣赏
2021/03/02 无线电
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
php截取中文字符串函数实例
2015/02/23 PHP
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
js 面向对象的技术创建高级 Web 应用程序
2010/02/25 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
2013/11/19 Javascript
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
JQuery创建DOM节点的方法
2015/06/11 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
2016/03/12 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
2016/06/06 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
2018/03/26 Javascript
探索node之事件循环的实现
2020/10/30 Javascript
[00:12]2018DOTA2亚洲邀请赛 sylar表现SOLO技艺
2018/04/06 DOTA
python实现代理服务功能实例
2013/11/15 Python
python处理二进制数据的方法
2015/06/03 Python
Python使用Pycrypto库进行RSA加密的方法详解
2016/06/06 Python
详解Python之数据序列化(json、pickle、shelve)
2017/03/30 Python
PyQt5 pyqt多线程操作入门
2018/05/05 Python
Python实现全排列的打印
2018/08/18 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
python如何将多个PDF进行合并
2019/08/13 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
HTML5之语义标签介绍
2016/07/07 HTML / CSS
打印机墨盒:123Inkjets
2017/02/16 全球购物
函授本科毕业自我鉴定
2013/10/09 职场文书
销售2014年度工作总结
2014/12/08 职场文书
司机个人年终总结
2015/03/03 职场文书
ORACLE查看当前账号的相关信息
2021/06/18 Oracle
Python办公自动化PPT批量转换操作
2021/09/15 Python