浅谈JavaScript中的“!!”作用


Posted in Javascript onAugust 03, 2020
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script type="text/javascript">
 
		alert(!!undefined)//false
		alert(!!null)//false
		alert(!!0)//false
		alert(!!"")//fase
		
	</script>
</head>
<body>
 
</body>
</html>

js代码中有时会用到“!”,这个我们知道是取反,对于布尔类型会将其值true和false互换,那对于非布尔类型呢?

对于非布尔类型,js会将值先转换成布尔类型,而后取反。

其他类型转布尔型的规则:

字符串类型值,会将空值("")转换成false,其余转换成true。

数字类型,会将0转换成false,其余为true。

null、undefined会转换成false。

因此,对于null、undefined、0、“”都会被转为flase。

说道这里,应该就理解了“!!”的含义了,一个!是将对象转为布尔型并取反,两个!是将取反后的布尔值再取反,相当于直接将非布尔类型值转为布尔类型值。

到此这篇关于浅谈JavaScript中的“!!”作用的文章就介绍到这了,更多相关JavaScript中的“!!”作用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javaScript 读取和设置文档元素的样式属性
Apr 14 Javascript
jquery checkbox全选、取消全选实现代码
Mar 05 Javascript
深入理解JavaScript 函数
Jun 06 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
Feb 10 Javascript
JavaScript数据结构中串的表示与应用实例
Apr 12 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
Jul 04 Javascript
Vue编写多地区选择组件
Aug 21 Javascript
JavaScript正则表达式和级联效果
Sep 14 Javascript
解析vue中的$mount
Dec 21 Javascript
elementUI 动态生成几行几列的方法示例
Jul 11 Javascript
在小程序中推送模板消息的实现方法
Jul 22 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
Mar 02 Javascript
基于脚手架创建Vue项目实现步骤详解
Aug 03 #Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
Aug 03 #Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
Aug 03 #Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
Aug 03 #Javascript
Vue 实现对quill-editor组件中的工具栏添加title
Aug 03 #Javascript
简单了解three.js 着色器材质
Aug 03 #Javascript
Element InputNumber 计数器的实现示例
Aug 03 #Javascript
You might like
德劲1107的电路分析与打磨
2021/03/02 无线电
用PHP将数据导入到Foxmail
2006/10/09 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
模仿jQuery each函数的链式调用
2009/07/22 Javascript
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
2011/07/31 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
使用优化器来提升Python程序的执行效率的教程
2015/04/02 Python
python 计算文件的md5值实例
2017/01/13 Python
Python3 log10()函数简单用法
2019/02/19 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
美国现代家具网站:Design Within Reach
2018/07/19 全球购物
银行实习生自我鉴定范文
2013/09/19 职场文书
高中生的学习总结自我鉴定
2013/10/26 职场文书
诚信考试标语
2014/06/24 职场文书
数学教研活动总结
2014/07/02 职场文书
审计班子对照检查材料
2014/08/27 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
收入证明申请书
2015/06/12 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript
python实现会员管理系统
2022/03/18 Python
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android