浅谈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的onchange事件与jQuery的change()方法比较
Sep 28 Javascript
Js 随机数产生6位数字
May 13 Javascript
自己动手开发jQuery插件教程
Aug 25 Javascript
Extjs单独定义各组件的实例代码
Jun 25 Javascript
JavaScript实现复制功能各浏览器支持情况实测
Jul 18 Javascript
Node.js 的异步 IO 性能探讨
Oct 08 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
Jul 27 Javascript
javascript弹出窗口实现代码
Nov 12 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
Apr 03 Javascript
AngularJS在IE8的不支持的解决方法
May 13 Javascript
深入理解AngularJS中的ng-bind-html指令
Mar 27 Javascript
vue输入节流,避免实时请求接口的实例代码
Oct 30 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
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
详解WordPress开发中的get_post与get_posts函数使用
2016/01/04 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
2019/06/25 PHP
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
jQuery获得内容和属性方法及示例
2013/12/02 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
详解js实现线段交点的三种算法
2016/08/09 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
layui-laydate时间日历控件使用方法详解
2018/11/15 Javascript
JS中使用react-tooltip插件实现鼠标悬浮显示框
2019/05/15 Javascript
基于ts的动态接口数据配置的详解
2019/12/18 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
TensorFlow实现Logistic回归
2018/09/07 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
Java面试题:为什么要用Java
2012/05/11 面试题
幼儿园新学期寄语
2014/01/18 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
社区助残日活动总结
2014/08/29 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
实习生辞职信范文
2015/03/02 职场文书
2015年综治维稳工作总结
2015/04/07 职场文书