js中两个感叹号的原理与用法分析
来源:互联网 发布:无源光网络的构成 编辑:程序博客网 时间:2024/06/06 20:53
js中两个感叹号的原理与用法分析
在javascript中有时会看到有两个!!的用法
- 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。
- grep: function( elems, callback, inv ) {
- var ret = [], retVal;
- inv = !!inv;
- // Go through the array, only saving the items
- // that pass the validator function
- for ( var i = 0, length = elems.length; i < length; i++ ) {
- retVal = !!callback( elems[ i ], i );
- if ( inv !== retVal ) {
- ret.push( elems[ i ] );
- }
- }
- return ret;
- }
这是jquery中一个比较经典的例子,
在使用grep函数的时候,如果给出了第三个参数且非null/undefined/0""/等值,则inv为 true,否则为false。这样做的目的就是保证inv和retVal的值都只能在true/false中取,而非其它值,为后续判断提供便利。
by Aaron:http://www.cnblogs.com/aaronjs/archive/2013/06/09/3129256.html
0 0
- js中两个感叹号的原理与用法分析
- js中两个感叹号的原理与用法分析
- js中两个感叹号的原理与用法分析
- js中两个感叹号的原理与用法分析
- js中两个感叹号的原理与用法分析
- js中两个感叹号的原理与用法分析
- c语言两个感叹号的用法
- VB中感叹号“!”与圆点“.”的用法差异
- VB中感叹号“!”与圆点“.”的用法差异
- Javascript中!!(两个感叹号,双感叹号)的含义
- Javascript中!!(两个感叹号,双感叹号)的含义
- JavaScript中两个感叹号的作用
- JavaScript中两个感叹号(!!)的作用
- JavaScript中两个感叹号的作用
- JavaScript中两个感叹号(!!)的作用
- JavaScript中两个感叹号的作用
- javascript中两个感叹号的作用
- JavaScript中 ! (感叹号)与 !! (双感叹号) 的区别
- 编程小练习
- 第九周项目一深复制体验(1)
- 第九周项目2深复制体验(1)
- 类和指针(3)
- 第八周项目3:指向学生类的指针
- js中两个感叹号的原理与用法分析
- Java基础知识(六)
- C/C++练习题 定义一个日期变量,进行年、月、日的输入,计算该日期是本年中的第几天。
- 2016年阿里巴巴集团蚂蚁金服面经
- Android Studio新功能解析,你真的了解Instant Run吗?
- linux/python正则表达式与通配符的不同
- 产品质量与细节
- 如何用eclipse远程调试jboss
- 谷安学习google及shodan搜索小谈