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 相关文章推荐
JavaScript OOP类与继承
Nov 15 Javascript
实现局部遮罩与关闭原理及代码
Feb 04 Javascript
jquery的map与get方法详解
Nov 04 Javascript
jquery+easeing实现仿flash的载入动画
Mar 10 Javascript
JavaScript中的setMilliseconds()方法使用详解
Jun 11 Javascript
js简单时间比较的方法
Aug 02 Javascript
原生js实现节日时间倒计时功能
Jan 18 Javascript
移动端刮刮乐的实现方式(js+HTML5)
Mar 23 Javascript
Vue框架中正确引入JS库的方法介绍
Jul 30 Javascript
详解angular脏检查原理及伪代码实现
Jun 08 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
Sep 18 Javascript
小程序Request的另类用法详解
Aug 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
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
PHP中的CMS的涵义
2007/03/11 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
php实现base64图片上传方式实例代码
2017/02/22 PHP
PHP实现微信提现功能
2018/09/30 PHP
jquery.pagination.js 无刷新分页实现步骤分享
2012/05/23 Javascript
jQuery中removeClass()方法用法实例
2015/01/05 Javascript
JavaScript基本语法讲解
2015/06/03 Javascript
使用jquery提交form表单并自定义action的方法
2016/05/25 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
微信小程序 解析网页内容详解及实例
2017/02/22 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
vue轮播图插件vue-concise-slider的使用
2018/03/13 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
[47:53]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#2COL VS Spirit
2016/03/02 DOTA
Python中的tuple元组详细介绍
2015/02/02 Python
python递归计算N!的方法
2015/05/05 Python
Python聚类算法之DBSACN实例分析
2015/11/20 Python
Python3.6连接Oracle数据库的方法详解
2018/05/18 Python
python3判断url链接是否为404的方法
2018/08/10 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
python numpy存取文件的方式
2020/04/01 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
澳大利亚优质的家居用品和生活方式公司:Bed Bath N’ Table
2019/04/16 全球购物
文明教师事迹材料
2014/01/16 职场文书
新春文艺演出主持词
2014/03/27 职场文书
诚信承诺书范文
2014/03/27 职场文书
小学优秀班干部事迹材料
2014/05/25 职场文书
当幸福来敲门英文观后感
2015/06/01 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书
导游词之无锡梅园
2019/11/28 职场文书
多表查询、事务、DCL
2021/04/05 MySQL