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 相关文章推荐
自动检查并替换文本框内的字符
Jun 30 Javascript
javascript+iframe 实现无刷新载入整页的代码
Mar 17 Javascript
Bootstrap实现响应式导航栏效果
Dec 28 Javascript
ECharts仪表盘实例代码(附源码下载)
Feb 18 Javascript
JavaScript轻松创建级联函数的方法示例
Feb 10 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
Feb 23 Javascript
浅谈Node.js 子进程与应用场景
Jan 24 Javascript
jQuery 点击获取验证码按钮及倒计时功能
Sep 20 jQuery
微信小程序时间轴实现方法示例
Jan 14 Javascript
JavaScript进阶(三)闭包原理与用法详解
May 09 Javascript
Vue3.0的优化总结
Oct 16 Javascript
详解nginx配置vue h5 history去除#号
Nov 09 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 图片上传类代码
2009/07/17 PHP
php daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
详解PHP归并排序的实现
2016/10/18 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
JS小框架 fly javascript framework
2009/11/26 Javascript
28个JS验证函数收集
2010/03/02 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
点击弹出层效果&弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
原生JS实现 MUI导航栏透明渐变效果
2017/11/07 Javascript
vue实现nav导航栏的方法
2017/12/13 Javascript
微信小程序实现星星评价效果
2018/11/02 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
Python实现堆排序的方法详解
2016/05/03 Python
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
python实现的二叉树定义与遍历算法实例
2017/06/30 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
2018/10/22 Python
Python脚本操作Excel实现批量替换功能
2019/11/20 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
2020/02/15 Python
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
存储过程和sql语句的优缺点
2014/07/02 面试题
资料员的岗位职责
2013/11/20 职场文书
人力资源部门的主要职能
2014/02/22 职场文书
《风娃娃》教学反思
2014/04/19 职场文书
党员活动日总结
2014/05/05 职场文书
债务授权委托书范本
2014/10/17 职场文书
美德少年主要事迹材料
2015/11/04 职场文书