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

JavaScript中兩個(gè)感嘆號(hào)的作用說(shuō)明

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

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

由于對(duì)null與undefined用!操作符時(shí)都會(huì)產(chǎn)生true的結(jié)果,所以用兩個(gè)感嘆號(hào)的作用就在于,如果明確設(shè)置了o中flag的值(非null/undefined/0""/等值),自然test就會(huì)取跟o.flag一樣的值;如果沒(méi)有設(shè)置,test就會(huì)默認(rèn)為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í)候,如果給出了第三個(gè)參數(shù)且非null/undefined/0""/等值,則inv為true,否則為false。這樣做的目的就是保證inv和retVal的值都只能在true/false中取,而非其它值,為后續(xù)判斷提供便利。

相關(guān)文章

最新評(píng)論

廉江市| 揭阳市| 衡阳市| 临沂市| 桃园市| 汉川市| 弥渡县| 柳河县| 丽江市| 涟水县| 淮南市| 利辛县| 方城县| 峡江县| 沂源县| 龙川县| 揭东县| 石首市| 新乡市| 濉溪县| 石门县| 巴南区| 灌云县| 镇雄县| 义乌市| 民和| 内乡县| 红桥区| 平邑县| 伊通| 宜丰县| 马关县| 大埔区| 泰州市| 蕲春县| 攀枝花市| 甘德县| 庐江县| 凭祥市| 毕节市| 临泽县|