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 相关文章推荐
原始XMLHttpRequest方法详情回顾
Nov 28 Javascript
js实现跨域访问的三种方法
Dec 09 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
Jan 28 Javascript
AngularJS中的指令全面解析(必看)
May 20 Javascript
原生js封装添加class,删除class的实例
Nov 06 Javascript
JS 实现百度搜索功能
Feb 01 Javascript
JS验证输入的是否是数字及保留几位小数问题
May 09 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
Jun 05 Javascript
微信小程序实现下拉菜单切换效果
Mar 30 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
Aug 26 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 Javascript
js实现购物车商品数量加减
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 删除数组元素
2009/01/16 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
2014/07/22 PHP
浅谈json_encode用法
2015/03/05 PHP
php判断目录存在的简单方法
2019/09/26 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
动态创建script标签实现跨域资源访问的方法介绍
2014/02/28 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
JS替换字符串中空格方法
2015/04/17 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
JavaScript Array对象使用方法解析
2019/09/24 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
python3抓取中文网页的方法
2015/07/28 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
2016/06/18 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
python频繁写入文件时提速的方法
2019/06/26 Python
Python完成哈夫曼树编码过程及原理详解
2019/07/29 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
Python 多进程原理及实现
2020/12/21 Python
深入浅析HTML5中的SVG
2015/11/27 HTML / CSS
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
社团活动策划书范文
2014/01/09 职场文书
学习委员自我鉴定
2014/01/13 职场文书
DIY手工制作经营店创业计划书
2014/02/01 职场文书
人代会标语
2014/06/30 职场文书
读《教育心理学》心得体会
2016/01/22 职场文书
子女赡养老人协议书
2016/03/23 职场文书
js 实现验证码输入框示例详解
2022/09/23 Javascript