浅谈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 相关文章推荐
IE的事件传递-event.cancelBubble示例介绍
Jan 12 Javascript
用js读、写、删除Cookie代码续篇
Dec 03 Javascript
微信WeixinJSBridge API使用实例
May 25 Javascript
原生JavaScript实现异步多文件上传
Dec 02 Javascript
javascript简单实现等比例缩小图片的方法
Jul 27 Javascript
BootStrap中的表单大全
Sep 07 Javascript
Vue2仿淘宝实现省市区三级联动
Apr 15 Javascript
微信小程序实现bindtap等事件传参
Apr 08 Javascript
js事件触发操作实例分析
Jun 21 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
Sep 11 Javascript
vue+element导航栏高亮显示的解决方式
Nov 12 Javascript
使用typescript快速开发一个cli的实现示例
Dec 09 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
PHP下一个非常全面获取图象信息的函数
2008/11/20 PHP
PHP中的use关键字概述
2014/07/23 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
PHP登录(ajax提交数据和后台校验)实例分享
2016/12/29 PHP
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
前端js文件合并的三种方式推荐
2016/05/19 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
jQuery Easy UI中根据第一个下拉框选中的值设置第二个下拉框是否可以编辑
2016/11/29 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
2017/11/21 Javascript
关于vue中的ajax请求和axios包问题
2018/04/19 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
Python中关键字is与==的区别简述
2014/07/31 Python
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
python添加模块搜索路径方法
2017/09/11 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
python实现决策树分类(2)
2018/08/30 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
韩国三星集团旗下时尚品牌官网:SSF SHOP
2016/08/02 全球购物
西班牙土拨鼠床垫公司,感觉在云端:Marmota
2019/03/18 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
Ellos瑞典官网:北欧地区时尚、美容和住宅领域领先的电子商务网站
2019/11/21 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
super关键字的用法
2012/04/10 面试题
Linux Interview Questions For software testers
2012/06/02 面试题
中学生期末评语
2014/02/03 职场文书
经典婚礼主持开场白
2014/03/13 职场文书
内乡县衙导游词
2015/02/05 职场文书
医生个人年度总结
2015/02/28 职场文书
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS