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实现层随着内容大小动态渐变改变 推荐
Dec 19 Javascript
javascript字符串函数汇总
Dec 06 Javascript
深入浅析react native es6语法
Dec 09 Javascript
JavaScript对象数组排序函数及六个用法
Dec 23 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
Jan 23 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
Jul 07 Javascript
详解jQuery简单的表格应用
Dec 16 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
Apr 01 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
Apr 23 Javascript
js常见遍历操作小结
Jun 06 Javascript
JavaScript 类的封装操作示例详解
May 16 Javascript
基于ajax及jQuery实现局部刷新过程解析
Sep 12 jQuery
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 spl_autoload_register实现自动加载研究
2011/12/06 PHP
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
30个经典的jQuery代码开发技巧
2014/12/15 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
Move.js入门
2017/02/08 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
通过实例解析json与jsonp原理及使用方法
2020/09/27 Javascript
python中循环语句while用法实例
2015/05/16 Python
解决Python pandas df 写入excel 出现的问题
2018/07/04 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
Python函数参数分类原理详解
2020/05/28 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
违反学校规定检讨书
2014/01/18 职场文书
清扬洗发水广告词
2014/03/14 职场文书
企业安全生产责任书
2014/04/14 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
2015年党性分析材料
2014/12/19 职场文书
教师个人年度总结
2015/02/11 职场文书
校园广播站开场白
2015/06/01 职场文书
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS