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 相关文章推荐
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
Apr 12 Javascript
javascript XML数据显示为HTML一例
Dec 23 Javascript
JavaScript开发规范要求(规范化代码)
Aug 16 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
Apr 08 Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
Aug 01 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
Sep 15 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
May 17 Javascript
BootStrap树状图显示功能
Nov 24 Javascript
浅谈Vuejs Prop基本用法
Aug 17 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
Aug 13 Javascript
vue中v-show和v-if的异同及v-show用法
Jun 06 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
Jun 04 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
浅谈电磁辐射对健康的影响
2021/03/01 无线电
php pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
PHP的加密方式及原理
2012/06/14 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
phpwind放自动注册方法
2006/12/02 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
js实现文字在按钮上滚动的方法
2015/08/20 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
解决JS外部文件中文注释出现乱码问题
2017/07/09 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
浅谈KOA2 Restful方式路由初探
2019/03/14 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
JavaScript中的 new 命令
2019/05/22 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
python数组过滤实现方法
2015/07/27 Python
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
Python selenium的基本使用方法分析
2019/12/21 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
2020/03/28 Python
使用css3制作登录表单的步骤
2014/04/07 HTML / CSS
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
工艺员岗位职责
2014/02/11 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
趣味运动会加油词
2015/07/18 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
初中地理教学反思
2016/02/19 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书