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 相关文章推荐
学习从实践开始之jQuery插件开发 菜单插件开发
May 03 Javascript
Javascript 判断是否存在函数的方法
Jan 03 Javascript
jquery触发a标签跳转事件示例代码
Jul 21 Javascript
javascript数组去重方法终极总结
Jun 05 Javascript
浅析javascript中函数声明和函数表达式的区别
Feb 15 Javascript
JavaScript获取客户端IP的方法(新方法)
Mar 11 Javascript
javascript 网页进度条简单实例
Feb 22 Javascript
详解ES6通过WeakMap解决内存泄漏问题
Mar 09 Javascript
JavaScript实现的简单加密解密操作示例
Jun 01 Javascript
微信小程序实现导航栏和内容上下联动功能代码
Jun 29 Javascript
Vue实现简单的拖拽效果
Aug 25 Javascript
ES11屡试不爽的新特性,你用上了几个
Oct 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 错误之引号中使用变量
2009/05/04 PHP
深入php var_dump()函数的详解
2013/06/05 PHP
php读取大文件示例分享(文件操作类)
2014/04/13 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
php的4种常用运行方式详解
2016/12/22 PHP
PHP7.3.10编译安装教程
2019/10/08 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
JS动态获取当前时间,并写到特定的区域
2013/05/03 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
JSON+HTML实现国家省市联动选择效果
2014/05/18 Javascript
jQuery实现“扫码阅读”功能
2015/01/21 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
在JavaScript应用中实现延迟加载的方法
2015/06/25 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
2015/06/30 Javascript
JavaScript统计网站访问次数的实现代码
2015/11/18 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
浅谈ajax在jquery中的请求和servlet中的响应
2018/01/22 jQuery
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
web.py中调用文件夹内模板的方法
2014/08/26 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
python设置表格边框的具体方法
2020/07/17 Python
CSS3使用多列制作瀑布流
2016/05/10 HTML / CSS
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
三星英国官网:Samsung英国
2018/09/25 全球购物
销售行业个人求职自荐信
2013/09/25 职场文书
通用求职信范文模板分享
2013/12/27 职场文书
采购部经理岗位职责
2014/02/10 职场文书
《夜晚的实验》教学反思
2014/02/19 职场文书
淘宝好评语大全
2014/05/05 职场文书
销售经理助理岗位职责
2015/04/13 职场文书