作家
登录

JavaScript中两个感叹号的作用说明

作者: 来源:www.28hudong.com 2013-03-30 00:36:18 阅读 我要评论

先用一个简单的例子说明: 复制代码 代码如下: var o={flag:true}; var test=!!o.flag;//等效于var test=o.flag||false; alert(test); 由于对null与undefined用!操作符时都会产生true的结果,所以用两个感叹号的作用就在于,如果明确设置了o中flag的值(非null/undefined/0""/等值),自然test就会取跟o.flag一样的值;如果没有设置,test就会默认为false,而不是null或undefined。 在jQuery中比较经典的例子如下:(jQuery 1.7.0.js: Line 748) 复制代码 代码如下: 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; } 在使用grep函数的时候,如果给出了第三个参数且非null/undefined/0""/等值,则inv为true,否则为false。这样做的目的就是保证inv和retVal的值都只能在true/false中取,而非其它值,为后续判断提供便利。

  推荐阅读

  js中有关IE版本检测

见得最多的就是检测navigator.userAgent(这个可以面向所有浏览器,略过)。 另外一种就是IE的条件注释,这篇有个比较详细的说明 http://www.jb51.net/article/29336.htm复制代码 代码如下: <!--[if !IE]><!--> <scr>>>详细阅读


本文标题:JavaScript中两个感叹号的作用说明

地址:http://www.17bianji.com/kaifa2/JS/23776.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)