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 相关文章推荐
JS 文字符串转换unicode编码函数
May 30 Javascript
获取body标签的两种方法
Oct 13 Javascript
javascript表单验证 - Parsley.js使用和配置
Jan 25 Javascript
解析jQuery与其它js(Prototype)库兼容共存
Jul 04 Javascript
简单常用的幻灯片播放实现代码
Sep 25 Javascript
Javascript闭包(Closure)详解
May 05 Javascript
利用JQuery直接调用asp.net后台的简单方法
Oct 27 Javascript
js评分组件使用详解
Jun 06 Javascript
基于dataset的使用和图片延时加载的实现方法
Dec 11 Javascript
详解JavaScript中typeof与instanceof用法
Oct 24 Javascript
JS匿名函数内部this指向问题详析
May 10 Javascript
JS实现斐波那契数列的五种方式(小结)
Sep 09 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
在数据量大(超过10万)的情况下
2007/01/15 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
php define的第二个参数使用方法
2013/11/04 PHP
PHP使用正则表达式清除超链接文本
2013/11/12 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
php实现比较全的数据库操作类
2015/06/18 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
详解JS模块导入导出
2017/12/20 Javascript
使用JavaScript破解web
2018/09/28 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
微信小程序导航栏跟随滑动效果的实现代码
2019/05/14 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
vue+element实现图片上传及裁剪功能
2020/06/29 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
Python中用altzone()方法处理时区的教程
2015/05/22 Python
Python 递归函数详解及实例
2016/12/27 Python
Django实现网页分页功能
2019/10/31 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
2020/02/14 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
python实点云分割k-means(sklearn)详解
2020/05/28 Python
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
领导检查欢迎词
2014/01/14 职场文书
工程项目建议书范文
2014/03/12 职场文书
小摄影师教学反思
2014/04/27 职场文书
2014年卫生工作总结
2014/11/27 职场文书
Winsows11性能如何? win11性能测评多核竟比Win10差了10%
2021/11/21 数码科技
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL