欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章

  • JavaScript中的 attribute 和 jQuery中的 attr 方法淺析

    JavaScript中的 attribute 和 jQuery中的 attr 方法淺析

    這篇文章主要介紹了JavaScript中的 attribute 和 jQuery中的 attr 方法淺析,需要的朋友可以參考下
    2017-01-01
  • ES2020 已定稿,真實(shí)場(chǎng)景案例分析

    ES2020 已定稿,真實(shí)場(chǎng)景案例分析

    許多新的特性被提議包括在 ES2020版本中。好消息是這些已經(jīng)已經(jīng)敲定。 現(xiàn)在,我們獲得了最終定稿的功能清單,它們將在被批準(zhǔn)發(fā)布之后出現(xiàn)在備受期待的 ES2020 中,具體內(nèi)容詳情,大家可以閱讀下本文
    2020-05-05
  • HTML+JS實(shí)現(xiàn)在線朗讀器

    HTML+JS實(shí)現(xiàn)在線朗讀器

    這篇文章主要介紹了利用HTML和JavaScript制作一個(gè)朗讀器,可以跟著一起念著讀,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-02-02
  • js中利用cookie實(shí)現(xiàn)記住密碼功能

    js中利用cookie實(shí)現(xiàn)記住密碼功能

    這篇文章主要為大家詳細(xì)介紹了js中利用cookie實(shí)現(xiàn)記住密碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • js導(dǎo)入導(dǎo)出excel(實(shí)例代碼)

    js導(dǎo)入導(dǎo)出excel(實(shí)例代碼)

    這篇文章主要是對(duì)js導(dǎo)入導(dǎo)出excel的實(shí)例代碼進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-11-11
  • Javascript delete 引用類(lèi)型對(duì)象

    Javascript delete 引用類(lèi)型對(duì)象

    很少使用javascript的delete,最近因?yàn)橐粋€(gè)小bug發(fā)現(xiàn)刪除引用類(lèi)型對(duì)象的時(shí)候有一點(diǎn)不同
    2013-11-11
  • js判斷文件類(lèi)型大小并給出提示的實(shí)現(xiàn)方法

    js判斷文件類(lèi)型大小并給出提示的實(shí)現(xiàn)方法

    下面小編就為大家分享一篇js判斷文件類(lèi)型大小并給出提示的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • js實(shí)現(xiàn)圖片3D輪播效果

    js實(shí)現(xiàn)圖片3D輪播效果

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)圖片3D輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 標(biāo)準(zhǔn)的js無(wú)縫滾動(dòng)效果

    標(biāo)準(zhǔn)的js無(wú)縫滾動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了標(biāo)準(zhǔn)的js無(wú)縫滾動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 預(yù)加載css或javascript的js代碼

    預(yù)加載css或javascript的js代碼

    為了提高網(wǎng)站的加載速度,有一個(gè)很重要的手段就是在用戶(hù)瀏覽過(guò)程中的上游網(wǎng)站做一個(gè)文件的預(yù)加載。
    2010-04-04

最新評(píng)論