JavaScript布尔运算符原理使用解析


Posted in Javascript onMay 06, 2020

布尔运算符分为四种:

  • 取反运算符(!)
  • 且运算符(&&)
  • 或运算符(||)
  • 三元运算符( ? 表达式1 : 表达式2 )

取反运算符(!)

用于将任何值转换为布尔值后再变为相反值,即true变false,false变true

取反运算符对以下六个值返回false,其余都返回true:

  • undefined
  • null
  • ''
  • false
  • 0
  • NaN

如果对一个值取反两次,则相当于将其转换为了布尔值,与Boolean()函数的作用相同

!!1 等同于Boolean('1')

且运算符(&&)

且运算符用于多个表达式: 表达式1 && 表达式2

运算规则: 如果第一个运算子返回true,则返回第二个运算子的值(不是布尔值);如果第一个运算子返回false,则返回第一个运算子,且不再对第二个运算子求值(短路)

// 'a'转换为boolean为true,所以直接返回第二个运算子''
'a' && ''

// ''转换为boolean为false,所以直接返回第一个运算子 ''
'' && 'a'

或运算符(||)

或运算符也用于多个表达式的值

运算规则: 如果第一个运算子的布尔值为true,则直接返回第一个运算子的值;如果第一个运算子的布尔值为false,则返回第二个运算子的值

// ''的布尔值为false,所以这里返回'b'
'' || 'b'
// 'b'的布尔值为true,所以这里返回'b'
'b' || ''

或运算符常用语为一个变量设置默认值

三元运算符

表达式1 ? 表达式2 : 表达式3;

如果表达式1的布尔值为true,则返回表达式2;如果表达式1的布尔值为false,则返回表达式3

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS在IE下缺少标识符的错误
Jul 23 Javascript
Javascript非构造函数的继承
Apr 27 Javascript
JavaScript函数的调用以及参数传递
Oct 21 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
Aug 02 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
Sep 17 Javascript
Bootstrap框架安装使用详解
Jan 21 Javascript
微信小程序 支付功能实现PHP实例详解
May 12 Javascript
使用Node.js实现RESTful API的示例
Aug 01 Javascript
js异步编程小技巧详解
Aug 14 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
Sep 27 Javascript
小程序云开发部署攻略(图文教程)
Oct 30 Javascript
js实现鼠标切换图片(无定时器)
Jan 27 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
May 06 #Javascript
Vue 的双向绑定原理与用法揭秘
May 06 #Javascript
微信小程序中使用 async/await的方法实例分析
May 06 #Javascript
JavaScript常用工具函数大全
May 06 #Javascript
详解react组件通讯方式(多种)
May 06 #Javascript
Node.js API详解之 os模块用法实例分析
May 06 #Javascript
js实现无缝轮播图特效
May 09 #Javascript
You might like
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
jQuery UI Dialog 创建友好的弹出对话框实现代码
2012/04/12 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
JavaScript在网页中画圆的函数arc使用方法
2015/11/13 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
基于MVC方式实现三级联动(JavaScript)
2017/01/23 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
2017/10/14 jQuery
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
在Python的Django框架中获取单个对象数据的简单方法
2015/07/17 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
使用python绘制3维正态分布图的方法
2018/12/29 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
Etam德国:内衣精品店
2019/08/25 全球购物
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
Linux上比较文件的命令都有哪些
2013/09/28 面试题
搞笑创意广告语
2014/03/17 职场文书
结对共建协议书
2014/08/20 职场文书
领导班子四风表现材料
2014/08/23 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
初中教师个人工作总结
2015/02/10 职场文书
写给纪委的违纪检讨书
2015/05/05 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python