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 小练习(实例代码)
Aug 07 Javascript
javascript动态加载实现方法一
Aug 22 Javascript
js 针对html DOM元素操作等经验累积
Mar 11 Javascript
js中匿名函数的创建与调用方法分析
Dec 19 Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
Nov 25 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
Dec 31 Javascript
利用JS轻松实现获取表单数据
Dec 06 Javascript
浅谈react.js 之 批量添加与删除功能
Apr 17 Javascript
Vue如何引入远程JS文件
Apr 20 Javascript
深入学习JavaScript中的bom
May 27 Javascript
vue中进行微博分享的实例讲解
Oct 14 Javascript
微信小程序一周时间表功能实现
Oct 17 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正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
js活用事件触发对象动作
2008/08/10 Javascript
javascript 定义新对象方法
2010/02/20 Javascript
js对数字的格式化使用说明
2011/01/12 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
js获取html页面节点方法(递归方式)
2013/12/13 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
JavaScript 基本概念
2015/01/20 Javascript
使用Chrome浏览器调试AngularJS应用的方法
2015/06/18 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
2017/01/13 Javascript
Angularjs实现上传图片预览功能
2017/09/01 Javascript
理解Koa2中的async&amp;await的用法
2018/02/05 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
详解在create-react-app使用less与antd按需加载
2018/12/06 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
微信用户访问小程序的登录过程详解
2019/09/20 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
[00:43]2016完美“圣”典风云人物:单车宣传片
2016/12/02 DOTA
[03:53]2016国际邀请赛中国区预选赛第三日TOP10精彩集锦
2016/06/29 DOTA
Fabric 应用案例
2016/08/28 Python
详解python多线程之间的同步(一)
2019/04/03 Python
python分布式计算dispy的使用详解
2019/12/22 Python
pytorch动态网络以及权重共享实例
2020/01/06 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
.net开发工程师面试题
2014/02/25 面试题
人事专员的职责
2014/02/26 职场文书
群众路线剖析材料
2014/09/30 职场文书
2015年计生工作总结范文
2015/04/24 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技