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 1.4 中的Ajax问题
Jan 23 Javascript
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
May 13 Javascript
JavaScript操作Oracle数据库示例
Mar 06 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
May 27 Javascript
jQuery插件Validation快速完成表单验证的方式
Jul 28 Javascript
Javascript中的对象和原型(二)
Aug 12 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
Mar 25 Javascript
vue使用axios跨域请求数据问题详解
Oct 18 Javascript
vue通过路由实现页面刷新的方法
Jan 25 Javascript
集成vue到jquery/bootstrap项目的方法
Feb 10 jQuery
angularjs 缓存的使用详解
Mar 19 Javascript
Vue记住滚动条和实现下拉加载的完美方法
Jul 31 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 表单提交给自己
2008/07/24 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
PHP实现搜索相似图片
2015/09/22 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
ThinkPHP打水印及设置水印位置的方法
2016/10/14 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
移动节点的jquery代码
2014/01/13 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
js验证真实姓名与身份证号,手机号的简单实例
2016/07/18 Javascript
Javascript使用SWFUpload进行多文件上传
2016/11/16 Javascript
JS实现的Unicode编码转换操作示例
2017/04/28 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
Python实现HTTP协议下的文件下载方法总结
2016/04/20 Python
Python实现读取json文件到excel表
2017/11/18 Python
python psutil库安装教程
2018/03/19 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
详解Django-restframework 之频率源码分析
2019/02/27 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
Python用K-means聚类算法进行客户分群的实现
2020/08/23 Python
在C#中如何实现多态
2014/07/02 面试题
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
党校培训思想汇报
2013/12/30 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
教师求职自荐信范文
2015/03/04 职场文书
2019年暑期法院实习报告
2019/12/18 职场文书
Android Rxjava3 使用场景详解
2022/04/07 Java/Android