浅谈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 相关文章推荐
让innerText在firefox火狐和IE浏览器都能用的写法
May 14 Javascript
jQuery中empty()方法用法实例
Jan 16 Javascript
node.js发送邮件email的方法详解
Jan 06 Javascript
JavaScript错误处理和堆栈追踪详解
Apr 18 Javascript
jQuery表单设置值的方法
Jun 30 jQuery
Form表单上传文件(type=&quot;file&quot;)的使用
Aug 03 Javascript
浅谈Koa服务限流方法实践
Oct 23 Javascript
浅析Node.js非对称加密方法
Jan 29 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
Aug 05 Javascript
JavaScript实现选项卡效果的分析及步骤
Apr 16 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
May 13 Javascript
使用Cargo工具高效创建Rust项目
Aug 14 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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
php 图片加水印与上传图片加水印php类
2010/05/12 PHP
PHP详解ASCII码对照表与字符转换
2011/12/05 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
PHP对XML内容进行修改和删除实例代码
2016/10/26 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
JavaScript中的对象化编程
2008/01/16 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
2018/12/09 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
[01:10:02]IG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
[52:26]完美世界DOTA2联赛决赛 FTD vs Phoenix 第一场 11.08
2020/11/11 DOTA
说一说Python logging
2016/04/15 Python
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
python3实现网页版raspberry pi(树莓派)小车控制
2020/02/12 Python
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
教师自荐信范文
2013/12/09 职场文书
英语专业学生的自我评价
2013/12/30 职场文书
十八届三中全会学习方案
2014/02/16 职场文书
社区母亲节活动方案
2014/03/05 职场文书
公安学专业求职信
2014/07/27 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
Golang的继承模拟实例
2021/06/30 Golang