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之浮动窗口实现代码(两种方法)
Sep 08 Javascript
jQuery替换字符串(实例代码)
Nov 13 Javascript
javascript实现的HashMap类代码
Jun 27 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
Jul 02 Javascript
jQuery使用animate创建动画用法实例
Aug 07 Javascript
JS实现保留n位小数的四舍五入问题示例
Aug 03 Javascript
Vue AST源码解析第一篇
Jul 19 Javascript
bootstrap table表格客户端分页实例
Aug 07 Javascript
Vue实现自定义下拉菜单功能
Jul 16 Javascript
利用Vconsole和Fillder进行移动端抓包调试方法
Mar 05 Javascript
你可能不知道的CORS跨域资源共享
Mar 13 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
Aug 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
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
浅谈PHP中JSON数据操作
2015/07/01 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
小议javascript 设计模式 推荐
2009/10/28 Javascript
Fastest way to build an HTML string(拼装html字符串的最快方法)
2011/08/20 Javascript
一个背景云变换js特效 鼠标移动背景云变化
2012/12/28 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
Jquery实现自定义弹窗示例
2014/03/12 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
2014/09/03 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
js字符串引用的两种方式(必看)
2016/09/18 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
Vue Autocomplete 自动完成功能简单示例
2019/05/25 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
Python中的map、reduce和filter浅析
2014/04/26 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
Python 忽略文件名编码的方法
2020/08/01 Python
使用Python画了一棵圣诞树的实例代码
2020/11/27 Python
举例讲解Python装饰器
2020/12/24 Python
实例讲解CSS3中的box-flex弹性盒属性布局
2016/06/09 HTML / CSS
环保建议书500字
2014/05/14 职场文书
关于读书的演讲稿500字
2014/08/27 职场文书
单位实习鉴定评语
2015/01/04 职场文书
演讲比赛主持词
2015/06/29 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书