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 相关文章推荐
jQuery使用andSelf()来包含之前的选择集
May 19 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
Sep 04 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
Mar 09 Javascript
漫谈JS引擎的运行机制 你应该知道什么
Jun 15 Javascript
Bootstrap3制作搜索框样式的方法
Jul 11 Javascript
Vue2.0用户权限控制解决方案
Nov 29 Javascript
小程序实现新用户判断并跳转激活的方法
May 20 Javascript
微信小程序实现星级评价
Nov 20 Javascript
Vue初始化中的选项合并之initInternalComponent详解
Jun 11 Javascript
用Javascript实现发送短信验证码间隔功能
Feb 08 Javascript
分享几个JavaScript运算符的使用技巧
Apr 24 Javascript
浅谈克隆 JavaScript
Nov 02 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
php中用文本文件做数据库的实现方法
2008/03/27 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
ExtJS实现文件下载的方法实例
2013/11/09 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
再谈javascript原型继承
2014/11/10 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
如何编写一个完整的Angular4 FormText 组件
2017/11/18 Javascript
Vue 进入/离开动画效果
2017/12/26 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
layer.open关闭父窗口 以及调用父页面的方法
2018/08/17 Javascript
jQuery实现合并表格单元格中相同行操作示例
2019/01/28 jQuery
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
2019/09/26 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
Vue看了就会的8个小技巧
2021/01/21 Vue.js
[01:05:52]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第一场 2月2日
2021/03/11 DOTA
Python入门篇之条件、循环
2014/10/17 Python
Python中的异常处理学习笔记
2015/01/28 Python
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
Python numpy线性代数用法实例解析
2019/11/15 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
健身场所或家用健身设备:Life Fitness
2017/11/01 全球购物
《富饶的西沙群岛》教学反思
2014/04/09 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书