js中双感叹号_JavaScript中双叹号(!!)作用
经常看到这样的例子:
vara;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的结果,所以用两个感叹号的作用就在于将这些值转换为“等价”的布尔值;
再来看看:
varfoo;
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中双叹号!!作用示例介绍
!!一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false; 经常看到这样的例子: var a: var b=!!a; a默认是undefined.!a是 ...
- 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服务器无法访问的故障现象.因此 ...
最新文章
- LDAP autofs挂载 swap交换空间
- 【手机游戏开发优化篇】详解手游[体积]及[运行内存]的优化篇!
- linux parallel 命令,Linux 并行处理神器 GNU Parallel 简明教程
- 两台邮件服务器共用一个公网地址,两个不同域邮件服务器的互通
- 学生每日计划表_学霸宅家都干什么?浙大学生近700份居家作息计划表泄露秘密...
- Linux (Ubuntu) 命令
- 参考文献格式自动生成器
- 测试用例设计方法(2)
- HTML5中litle标签的作用,Litle是什么意思
- Redis设计与实现 -- 浅谈Redis持久化
- Python 自动化教程(2) : Excel自动化:使用pandas库
- 我眼中的匈牙利命名法
- 计算机科学 名言,计算机科学名人名言.docx
- wireshark抓包vx ip
- 学习第一天——ipfs安装与使用
- 程序员跳槽有一份好的简历,offer让你拿到手软
- 在电脑上开启网络校时服务
- 你相信吗?黑客通过浏览器也能控制你的电脑
- 小车c语言实训报告,循迹小车实训报告.doc
- YUV YPbPr YCbCr CCIR 601 CCIR 656