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实现面向对象类的功能书写技巧
Mar 07 Javascript
jquery 删除cookie失效的解决方法
Nov 12 Javascript
js实现倒计时时钟的示例代码
Dec 17 Javascript
在javascript中如何得到中英文混合字符串的长度
Jan 17 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
Mar 18 Javascript
JavaScript实现的CRC32函数示例
Nov 23 Javascript
AngularJS ui-router (嵌套路由)实例
Mar 10 Javascript
基于JavaScript实现淘宝商品广告效果
Aug 10 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
Nov 08 jQuery
ES6基础之展开语法(Spread syntax)
Feb 21 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
May 13 Javascript
基于JavaScript实现简单的轮播图
Mar 03 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 extract 将数组拆分成多个变量的函数
2010/06/30 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
PHP文件上传处理案例分析
2016/10/15 PHP
Array.slice()与Array.splice()的返回值类型
2006/10/09 Javascript
短信提示使用 特效
2007/01/19 Javascript
转一个日期输入控件,支持FF
2007/04/27 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
原生js实现下拉框功能(支持键盘事件)
2017/01/13 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
JS触摸事件、手势事件详解
2017/05/04 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
2017/06/23 Javascript
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
2018/11/18 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
2019/09/27 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
python 读取摄像头数据并保存的实例
2018/08/03 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
python config文件的读写操作示例
2019/09/27 Python
python实现打砖块游戏
2020/02/25 Python
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
后勤人员岗位职责
2013/12/17 职场文书
网络书店创业计划书
2014/02/07 职场文书
企业年度评优方案
2014/06/02 职场文书
班级读书活动总结
2014/06/30 职场文书
美术教师个人总结
2015/02/06 职场文书
春风化雨观后感
2015/06/11 职场文书
导游词之日本富士山
2020/01/06 职场文书
mysql 子查询的使用
2022/04/28 MySQL