浅谈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 相关文章推荐
JQUBAR1.1 jQuery 柱状图插件发布
Nov 28 Javascript
JS判断、校验MAC地址的2个实例
May 05 Javascript
基于javascript实现窗口抖动效果
Jan 03 Javascript
jquery显示隐藏元素的实现代码
May 19 Javascript
浅谈jQuery中ajaxPrefilter的应用
Aug 01 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
Nov 16 Javascript
微信小程序 UI与容器组件总结
Feb 21 Javascript
React Native 搭建开发环境的方法步骤
Oct 30 Javascript
js中apply与call简单用法详解
Nov 06 Javascript
javascript实现最长公共子序列实例代码
Feb 05 Javascript
编写React组件项目实践分析
Mar 04 Javascript
javascript性能优化之分时函数的介绍
Mar 28 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
phpmyadmin操作流程
2006/10/09 PHP
我的论坛源代码(五)
2006/10/09 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
php微信开发之上传临时素材
2016/06/24 PHP
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
jQuery基础_入门必看知识点
2016/07/04 Javascript
jQuery插件Validation快速完成表单验证的方式
2016/07/28 Javascript
详解Js模板引擎(TrimPath)
2016/11/22 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
2020/08/03 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
python装饰器初探(推荐)
2016/07/21 Python
python用reduce和map把字符串转为数字的方法
2016/12/19 Python
详解python并发获取snmp信息及性能测试
2017/03/27 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
Django中使用celery完成异步任务的示例代码
2018/01/23 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
python try 异常处理(史上最全)
2019/03/07 Python
阿里旅行:飞猪
2017/01/05 全球购物
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
全球最大运动品牌的男装、女装和童装官方库存商:A&A Sports
2021/01/17 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
长安大学毕业生自我鉴定
2014/01/17 职场文书
春季运动会广播稿大全
2014/02/19 职场文书
党员创先争优公开承诺书
2014/03/28 职场文书
亲属关系公证书
2014/04/08 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
原生JS实现飞机大战小游戏
2021/06/09 Javascript
Win11快速关闭所有广告推荐
2022/04/19 数码科技