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 相关文章推荐
编写自己的jQuery插件简单实现代码
Apr 19 Javascript
formValidator3.3的ajaxValidator一些异常分析
Jul 12 Javascript
老司机带你解读jQuery插件开发流程
May 16 Javascript
深入理解JQuery循环绑定事件
Jun 02 Javascript
解决webpack dev-server不能匹配post请求的问题
Aug 24 Javascript
js实现动态添加上传文件页面
Oct 22 Javascript
详解Ant Design of React的安装和使用方法
Dec 27 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
Apr 02 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
Jan 02 Javascript
vue使用微信扫一扫功能的实现代码
Apr 11 Javascript
jQuery 选择方法及$(this)用法实例分析
May 19 jQuery
element-ui 弹窗组件封装的步骤
Jan 22 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接收App端发送文件流的方法
2016/09/23 PHP
一页面多XMLHttpRequest对象
2007/01/22 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
javascript实现数字验证码的简单实例
2014/02/10 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
JavaScript中匿名、命名函数的性能测试
2014/09/04 Javascript
JavaScript中setFullYear()方法的使用详解
2015/06/11 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
2019/05/17 Javascript
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
python多维数组切片方法
2018/04/13 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
2019/01/29 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
Python爬虫工具requests-html使用解析
2020/04/29 Python
HTML5地理定位实例
2014/10/15 HTML / CSS
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
成绩单公证书
2014/04/10 职场文书
初二学习计划书范文
2014/04/27 职场文书
专项法律服务方案
2014/06/11 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
校园广播稿100字
2014/10/06 职场文书
2014年办公室主任工作总结
2014/11/12 职场文书
工作态度怎么写
2015/06/25 职场文书
趣味运动会口号
2015/12/24 职场文书
JS Object构造函数之Object.freeze
2021/04/28 Javascript