浅谈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 相关文章推荐
FormValidate 表单验证功能代码更新并提供下载
Aug 23 Javascript
使用jQuery清空file文件域的解决方案
Apr 12 Javascript
jQuery插件实现静态HTML验证码校验
Nov 06 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
Jul 11 Javascript
总结javascript中的六种迭代器
Aug 16 Javascript
AngularJS1.X学习笔记2-数据绑定详解
Apr 01 Javascript
javascript编程实现栈的方法详解【经典数据结构】
Apr 11 Javascript
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
Nov 27 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
Sep 15 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
Jun 04 Javascript
Jquery ajax书写方法代码实例解析
Jun 12 jQuery
JavaScript 事件代理需要注意的地方
Sep 08 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
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
php动态生成函数示例
2014/03/21 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
Yii中表单用法实例详解
2016/01/05 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
按Enter键触发事件的jquery方法实现代码
2014/02/17 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
2015/12/18 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
微信小程序实现留言板
2018/10/31 Javascript
Vue触发隐藏input file的方法实例详解
2019/08/14 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
详解使用mocha对webpack打包的项目进行&quot;冒烟测试&quot;的大致流程
2020/04/27 Javascript
vant 自定义 van-dropdown-item的用法
2020/08/05 Javascript
在vue项目中引用Antv G2,以饼图为例讲解
2020/10/28 Javascript
使用typescript快速开发一个cli的实现示例
2020/12/09 Javascript
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
wxpython 学习笔记 第一天
2009/03/16 Python
详解Python编程中包的概念与管理
2015/10/16 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
python虚拟环境迁移方法
2019/01/03 Python
python开发准备工作之配置虚拟环境(非常重要)
2019/02/11 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
假面舞会策划方案
2014/05/29 职场文书
经营目标管理责任书
2014/07/25 职场文书
小学端午节活动总结
2015/02/11 职场文书
故意伤害辩护词
2015/05/21 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL