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 相关文章推荐
JavaScript 字符串处理函数使用小结
Dec 02 Javascript
jquery滚动加载数据的方法
Mar 09 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
Mar 26 Javascript
异步安全加载javascript文件的方法
Jul 21 Javascript
javaScript数组迭代方法详解
Apr 14 Javascript
jquery实现ajax加载超时提示的方法
Jul 23 Javascript
JS简单实现数组去重的方法示例
Mar 27 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
Nov 08 jQuery
jQuery中ajax获取数据赋值给页面的实例
Dec 31 jQuery
通过一次报错详细谈谈Point事件
May 17 Javascript
JS添加或删除HTML dom元素的方法实例分析
Mar 05 Javascript
在antd Form表单中select设置初始值操作
Nov 02 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
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
JavaScript confirm选择判断
2008/10/18 Javascript
csdn 论坛技术区平均给分功能
2009/11/07 Javascript
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
vue2.0 element-ui中el-select选择器无法显示选中的内容(解决方法)
2018/08/24 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
Vue面试题及Vue知识点整理
2018/10/07 Javascript
Javascript三种字符串连接方式及性能比较
2019/05/28 Javascript
浅谈vue 锚点指令v-anchor的使用
2019/11/13 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
JS+DIV实现拖动效果
2020/02/11 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
简单介绍Python中的filter和lambda函数的使用
2015/04/07 Python
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
详谈python read readline readlines的区别
2017/09/22 Python
Python操作mysql数据库实现增删查改功能的方法
2018/01/15 Python
Python列表解析配合if else的方法
2018/06/23 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
Python常用库大全及简要说明
2020/01/17 Python
django rest framework serializers序列化实例
2020/05/13 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
应聘医学检验人员自荐信
2013/09/27 职场文书
车间班组长的职责
2013/12/13 职场文书
个人委托书怎么写
2014/09/17 职场文书
基层党组织整改方案
2014/10/25 职场文书
年会主持人开场白台词
2015/05/29 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
浅谈@Value和@Bean的执行顺序问题
2021/06/16 Java/Android
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js