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、chrome、firefox etc
Apr 18 Javascript
原生javascript获取元素样式
Dec 31 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
Oct 16 Javascript
全面介绍javascript实用技巧及单竖杠
Jul 18 Javascript
浅析JavaScript中break、continue和return的区别
Nov 30 Javascript
jquery仿ps颜色拾取功能
Mar 08 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
Jun 19 Javascript
浅谈Angular4实现热加载开发旅程
Sep 08 Javascript
微信小程序自定义底部弹出框
Nov 16 Javascript
Vue-CLI3.x 设置反向代理的方法
Dec 06 Javascript
JS遍历树层级关系实现原理解析
Aug 31 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
Sep 21 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实现带重试功能的curl连接示例
2016/07/28 PHP
php使用curl_init()和curl_multi_init()多线程的速度比较详解
2018/08/15 PHP
网页javascript精华代码集
2007/01/24 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
javascript浏览器窗口之间传递数据的方法
2015/01/20 Javascript
jQuery旋转木马式幻灯片轮播特效
2015/12/04 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
2016/04/29 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
prototype.js常用函数详解
2016/06/18 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
jQuery中库的引用方法
2018/01/06 jQuery
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
微信小程序图表插件wx-charts用法实例详解
2019/05/20 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
ES6如何用一句代码实现函数的柯里化
2020/01/18 Javascript
Vue-cli 移动端布局和动画使用详解
2020/08/10 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
[01:51]2014DOTA2西雅图邀请赛 MVP 外卡赛black场间采访
2014/07/09 DOTA
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
Python的标准模块包json详解
2017/03/13 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
2020/07/01 Python
HTML5实现预览本地图片
2016/02/17 HTML / CSS
Marc Jacobs彩妆官网:Marc Jacobs Beauty
2017/07/03 全球购物
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
促销活动策划方案
2014/01/12 职场文书
《晏子使楚》教学反思
2014/02/08 职场文书