JavaScript中双叹号(!!)作用
来源:互联网 发布:双系统linux开机启动 编辑:程序博客网 时间:2024/06/06 18:10
经常看到这样的例子:
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() //将对象转换为字符串
布尔型的转换,javascript约定规则为
- false、undefinded、null、0、”” 为 false
- true、1、”somestring”、[Object] 为 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。
阅读全文
0 0
- JavaScript中双叹号(!!)作用
- JavaScript中双叹号“!!”作用
- JavaScript中双叹号(!!)作用
- JavaScript中双叹号(!!)作用
- JavaScript中双叹号“!!”作用
- JavaScript中双叹号(!!)作用
- JavaScript中双叹号(!!)作用
- JavaScript中双叹号(!!)作用
- JavaScript中双叹号(!!)作用示例介绍
- JavaScript中双叹号(!!)作用示例介绍
- JavaScript 双叹号(!!)作用 详解
- 内核中!!双叹号的作用
- js 中双叹号(!!)的作用
- js中变量前两个叹号(!!)作用
- arm汇编指令中叹号作用
- ruby 中叹号问号的作用
- arm汇编中感叹号/叹号的作用
- js中变量前两个叹号(!!)作用
- 四.网络层的两大协议ICMP和ARP的工作原理
- 网易2018校招内推编程题集合:堆棋子 [python]
- 微信公众号用户管理开发
- 相对熵(KL散度)
- 买期房,你需要知道的----期房维权纪实
- JavaScript中双叹号(!!)作用
- zookeeper的工作原理与选举机制
- React Native使用百度Echarts显示图表
- QML
- 网易2018校招内推编程题集合:小易喜欢的数列 [python]
- 用过的正则表达式
- 灵魂小编又双叒叕出参会攻略了!——企服三会的正确打开方式
- 第二章 Spring MVC入门 —— 跟我学SpringMVC
- js+node.js方面的一些面试题