js中双感叹号_JavaScript中双叹号!!作用示例介绍
!!一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false;
经常看到这样的例子:
var a;
var b=!!a;
a默认是undefined。!a是true,!!a则是false,所以b的值是false,而不再是undefined,也非其它值,主要是为后续判断提供便利。
!!一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false;
因为javascript是弱类型的语言(变量没有固定的数据类型)所以有时需要强制转换为相应的类型,类似的如:
a=parseInt(“1234″)
a=”1234″-0 //转换为数字
b=1234+”” //转换为字符串
c=someObject.toString() //将对象转换为字符串
其中第1种、第4种为显式转换,2、3为隐式转换
布尔型的转换,javascript约定规则为
false、undefinded、null、0、”” 为 false
true、1、”somestring”、[Object] 为 true
对null与undefined等其他用隐式转换的值,用!操作符时都会产生true的结果,所以用两个感叹号的作用就在于将这些值转换为“等价”的布尔值;
再来看看:
var foo;
alert(!foo);//undifined情况下,一个感叹号返回的是true;
alert(!goo);//null情况下,一个感叹号返回的也是true;
var o={flag:true};
var test=!!o.flag;//等效于var test=o.flag||false;
alert(test);
这段例子,演示了在undifined和null时,用一个感叹号返回的都是true,用两个感叹号返回的就是false,所以两个感叹号的作用就在于,如果明确设置了变量的值(非null/undifined/0/”“等值),结果就会根据变量的实际值来返回,如果没有设置,结果就会返回false。
js中双感叹号_JavaScript中双叹号!!作用示例介绍相关推荐
- js中双感叹号_JavaScript中双叹号(!!)作用
经常看到这样的例子: vara:var b=!!a; a默认是undefined.!a是true,!!a则是false,所以b的值是false,而不再是undefined,也非其它值,主要是为后续判断 ...
- swift 中的 感叹号 问号 和 双问号用法详解
首先介绍一下swift 中的 Optional! 点到 Optional 的头文件可以看到, Optional 其实是个enum,里面有 case None 和 case Some(Wrapped) ...
- js 闭包函数 构造函数_JavaScript中的闭包,库里函数和酷抽象
js 闭包函数 构造函数 In this article, we will talk about closures and curried functions and we'll play aroun ...
- js正则贪婪模式_javascript中的正则表达式的贪婪模式和非贪婪模式讲解
1.贪婪模式: 根据匹配字符串以及表达式尽可能多的进行匹配,成为贪婪匹配模式 例如:/a\d+/ 即可以匹配首字母为a的之后的许多数字,这个不进行限制 或者另外一种方法/a\d{2,}/也可以实现同样 ...
- string 字符串中字符无效_JavaScript中的字符串(string)到底是什么?
通过可见字符建模 把JavaScript中的string当作字符序列来看待是最直观的,虽然这样并不准确. 以下代码示例中的字符串由5个字母和一个感叹号组成: const message = 'Hell ...
- java项目中红色感叹号_Eclipse中项目名出现红色感叹号解决方法
Eclipse中正在使用的项目,项目名那里出现了红色感叹号?怎么去除?下面就随东坡小编一起来看看Eclipse中项目名出现红色感叹号解决方法. 问题原因 工程中classpath中指向的包路径错误 ...
- arm中clz指令_JavaScript中带有示例的Math.clz32()方法
arm中clz指令 JavaScript | Math.clz32()方法 (JavaScript | Math.clz32() Method) Math.clz32() is a function ...
- bat替换文件中的字符串_JavaScript 中替换字符串的几种方法
// 每日前端夜话 第418篇// 正文共:700 字// 预计阅读时间:5 分钟 替换字符串中的文本是 JavaScript 开发中的常见任务.本文研究几种用 replace 和正则表达式替换文本的 ...
- 安装好xp系统后没网络连接服务器,本地连接呢?xp系统.设备管理器中显示网卡安装正常.没叹号没问号 爱问知识人...
倘若在Web服务器中的Windows 2000服务器系统并没有将本地计算机的网络连接功能启用的话,其他任何客户端都是无法与Web服务器保持连接的,这样的话就容易出现Web服务器无法访问的故障现象.因此 ...
最新文章
- JAVA面向对象的总结(函数重载与数组)
- 中国海上风力发电行业战略调研与投资风险分析报告2022-2028年
- Java中的enum枚举类
- Python面向对象编程Day 25部分知识点
- C#调用百度地图API入门解决BMap未定义问题
- Qt 设置textEdit插入文本的字体、大小和颜色
- FreeRTOS学习及移植笔记之二:在IAR和STM32F103VET上移植FreeRTOS
- css新单位 vw , vh
- 计算机网络之网络概述:6、TCP/IP模型和5层参考模型
- Python学习:命令行运行,循环结构
- 【英语学习】【Level 07】U01 Making friends L4 Meet your new colleague
- c语言程序构建,c语言开发环境构建及简单的c程序设计.doc
- mysql获取多张表中的数据_mysql之多表查询
- |Vijos|NOIP2015|模拟|P1975 扫雷游戏
- SuperScan扫描器
- 网页聊天室php无数据库_无需数据库的PHP聊天室程序
- for循环遍历Set集合时如何判断是否有下一个元素
- 平均数 中位数 四分位数 方差 标准差
- 计算机键盘怎么换键,电脑键盘快捷键怎么更改
- 网页版微信自动群发消息
热门文章
- WPF WinAPI 编程详解(四 实例 )
- delphi 操作注册表详解
- 虚拟机(win11)和云服务器的WarmServer配置缺少MSVCR110.dll
- ARMv7和ARMv8中关于内存访问的汇编指令总结对比
- php显示服务器域名,php获取服务器域名
- 度量学习(Metric Learning)【AMSoftmax、Arcface】
- Tranform + Transitions + Animation
- Class类 和 class对象(运行时的类型信息)
- PI与关系数据库及其他实时数据库对比
- Switch 中参数的范围探讨