最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中兩個感嘆號的作用說明

 更新時間:2011年12月28日 23:58:43   作者:  
用兩個感嘆號的作用就在于,如果明確設(shè)置了o中flag的值(非null/undefined/0""/等值),自然test就會取跟o.flag一樣的值;如果沒有設(shè)置,test就會默認為false,而不是null或undefined
先用一個簡單的例子說明:
復(fù)制代碼 代碼如下:

var o={flag:true};
var test=!!o.flag;//等效于var test=o.flag||false;
alert(test);

由于對null與undefined用!操作符時都會產(chǎn)生true的結(jié)果,所以用兩個感嘆號的作用就在于,如果明確設(shè)置了o中flag的值(非null/undefined/0""/等值),自然test就會取跟o.flag一樣的值;如果沒有設(shè)置,test就會默認為false,而不是null或undefined。
在jQuery中比較經(jīng)典的例子如下:(jQuery 1.7.0.js: Line 748)
復(fù)制代碼 代碼如下:

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函數(shù)的時候,如果給出了第三個參數(shù)且非null/undefined/0""/等值,則inv為true,否則為false。這樣做的目的就是保證inv和retVal的值都只能在true/false中取,而非其它值,為后續(xù)判斷提供便利。

相關(guān)文章

最新評論

浦县| 元朗区| 大方县| 寻乌县| 财经| 尖扎县| 延安市| 永嘉县| 错那县| 桐乡市| 右玉县| 盘山县| 辰溪县| 高淳县| 鹤壁市| 芦山县| 西林县| 盐源县| 秦皇岛市| 崇州市| 察隅县| 昌吉市| 融水| 浑源县| 鹤庆县| 新闻| 肃宁县| 大同市| 平塘县| 常山县| 鄂托克前旗| 高雄市| 民县| 松阳县| 昌都县| 刚察县| 福海县| 改则县| 和平县| 博兴县| 那坡县|