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 相关文章推荐
DOM精简教程
Oct 03 Javascript
javascript 读取XML数据,在页面中展现、编辑、保存的实现
Oct 27 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
Jul 02 Javascript
微信企业号开发之微信考勤Cookies的使用
Sep 11 Javascript
javascript禁止超链接跳转的方法
Feb 02 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
Oct 13 Javascript
ES6中class类用法实例浅析
Apr 06 Javascript
ionic 自定义弹框效果
Jun 27 Javascript
Vue 项目部署到服务器的问题解决方法
Dec 05 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
May 18 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
Aug 12 Javascript
springboot+VUE实现登录注册
May 27 Vue.js
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中的状态模式编程
2015/08/11 PHP
Smarty保留变量用法分析
2016/05/23 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
2016/10/08 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
2016/10/18 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
2017/03/14 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
How to Auto Include a Javascript File
2007/02/02 Javascript
javascript 浏览器检测代码精简版
2010/03/04 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
[53:43]VP vs NewBee Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Pytorch 实现权重初始化
2019/12/31 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
2020/03/24 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
python不同版本的_new_不同点总结
2020/12/09 Python
css3的过滤效果简单实例
2016/08/03 HTML / CSS
利用Canvas模仿百度贴吧客户端loading小球的方法示例
2017/08/13 HTML / CSS
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
2012/12/09 HTML / CSS
英国网上超市:Ocado
2020/03/05 全球购物
优秀应届生求职信
2014/06/16 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
门市房租房协议书
2014/12/04 职场文书
教师个人总结范文
2015/02/11 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
学习党史心得体会2016
2016/01/23 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书