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 onkeydown,onkeyup,onkeypress,onclick,ondblclick
Feb 04 Javascript
Mootools 1.2教程(2) DOM选择器
Sep 14 Javascript
你必须知道的Javascript知识点之"深入理解作用域链"的介绍
Apr 23 Javascript
用js设置下拉框为只读的小技巧
Apr 10 Javascript
AngularJS基础 ng-list 指令详解及示例代码
Aug 02 Javascript
利用jquery实现实时更新歌词的方法
Jan 06 Javascript
js实现一个简单的数字时钟效果
Mar 29 Javascript
利用node.js制作命令行工具方法教程(一)
Jun 22 Javascript
vue拖拽组件使用方法详解
Dec 01 Javascript
js原生map实现的方法总结
Jan 19 Javascript
原生JS运动实现轮播图
Jan 02 Javascript
Javascript实现打鼓效果
Jan 29 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 session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
React-Native做一个文本输入框组件的实现代码
2017/08/10 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
2017/08/25 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
深入理解NumPy简明教程---数组3(组合)
2016/12/17 Python
Python中logging.NullHandler 的使用教程
2018/11/29 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
使用Windows批处理和WMI设置Python的环境变量方法
2019/08/14 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
新加坡交友网站:be2新加坡
2019/04/10 全球购物
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
护士求职推荐信范文
2013/11/23 职场文书
金融专业毕业生推荐信
2013/11/26 职场文书
便利店的创业计划书
2014/01/15 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
公司员工辞职信范文
2015/05/12 职场文书
Redis遍历所有key的两个命令(KEYS 和 SCAN)
2021/04/12 Redis
SpringBoot读取Resource下文件的4种方法
2021/07/02 Java/Android
修改Nginx配置返回指定content-type的方法
2022/09/23 Servers