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数组处理多个字符串的连接问题
Aug 20 Javascript
IE6弹出“已终止操作”的解决办法
Nov 27 Javascript
基于jquery实现漂亮的动态信息提示效果
Aug 02 Javascript
Js实现自定义右键行为
Mar 26 Javascript
JS实现支持Ajax验证的表单插件
Mar 24 Javascript
深入理解requestAnimationFrame的动画循环
Sep 20 Javascript
基于Vue2的移动端开发环境搭建详解
Nov 03 Javascript
详解微信小程序 页面跳转 传递参数
Dec 08 Javascript
Vue.js开发环境快速搭建教程
Mar 17 Javascript
koa上传excel文件并解析的实现方法
Aug 09 Javascript
vue实现点击追加选中样式效果
Nov 01 Javascript
jQuery实现颜色打字机的完整代码
Mar 19 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
在数据量大(超过10万)的情况下
2007/01/15 PHP
遭遇php的in_array低性能问题
2013/09/17 PHP
zf框架的session会话周期及次数限制使用示例
2014/03/13 PHP
php获取根域名方法汇总
2014/10/28 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
laravel-admin 实现给grid的列添加行数序号的方法
2019/10/08 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
利用js+css+html实现固定table的列头不动
2016/12/08 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
2017/06/15 Javascript
深入理解Angular中的依赖注入
2017/06/26 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
javascript中floor使用方法总结
2019/02/02 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
2019/03/14 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
Python3 修改默认环境的方法
2019/02/16 Python
python实现批量注册网站用户的示例
2019/02/22 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
一行Python代码制作动态二维码的实现
2019/09/09 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
2019/10/14 Python
tensorflow pb to tflite 精度下降详解
2020/05/25 Python
学校大课间活动方案
2014/01/30 职场文书
2014村务公开实施方案
2014/02/25 职场文书
工作会议通知
2015/04/15 职场文书
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android