国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript中兩個感嘆號的作用

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 20:30:39
文檔

JavaScript中兩個感嘆號的作用

JavaScript中兩個感嘆號的作用:var a;var b=。a;a默認是undefined。a是true。a則是false,所以b的值是false,而不再是undefined,也非其它值,主要是為后續(xù)判斷提供便利。一般用來將后面的表達式強制轉(zhuǎn)換為布爾類型的數(shù)據(jù)(boolean),也就是只能是true或者false;因
推薦度:
導(dǎo)讀JavaScript中兩個感嘆號的作用:var a;var b=。a;a默認是undefined。a是true。a則是false,所以b的值是false,而不再是undefined,也非其它值,主要是為后續(xù)判斷提供便利。一般用來將后面的表達式強制轉(zhuǎn)換為布爾類型的數(shù)據(jù)(boolean),也就是只能是true或者false;因

var a;

var b=!!a;

a默認是undefined。!a是true,!!a則是false,所以b的值是false,而不再是undefined,也非其它值,主要是為后續(xù)判斷提供便利。

!!一般用來將后面的表達式強制轉(zhuǎn)換為布爾類型的數(shù)據(jù)(boolean),也就是只能是true或者false;

因為javascript是弱類型的語言(變量沒有固定的數(shù)據(jù)類型)所以有時需要強制轉(zhuǎn)換為相應(yīng)的類型,類似的如:

a=parseInt(“1234″)

a=”1234″-0 //轉(zhuǎn)換為數(shù)字

b=1234+”" //轉(zhuǎn)換為字符串

c=someObject.toString() //將對象轉(zhuǎn)換為字符串

其中第1種、第4種為顯式轉(zhuǎn)換,2、3為隱式轉(zhuǎn)換

布爾型的轉(zhuǎn)換,javascript約定規(guī)則為

false、undefinded、null、0、”" 為 false

true、1、”somestring”、[Object] 為 true

對null與undefined等其他用隱式轉(zhuǎn)換的值,用!操作符時都會產(chǎn)生true的結(jié)果,所以用兩個感嘆號的作用就在于將這些值轉(zhuǎn)換為“等價”的布爾值;

=============================================================================================================

先用一個簡單的例子說明:
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)
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ù)判斷提供便利。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JavaScript中兩個感嘆號的作用

JavaScript中兩個感嘆號的作用:var a;var b=。a;a默認是undefined。a是true。a則是false,所以b的值是false,而不再是undefined,也非其它值,主要是為后續(xù)判斷提供便利。一般用來將后面的表達式強制轉(zhuǎn)換為布爾類型的數(shù)據(jù)(boolean),也就是只能是true或者false;因
推薦度:
標(biāo)簽: 作用 感嘆號 的作用
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 欧美精品一区二区三区四区 | 日本a天堂 | 欧美变态人zozo禽交 | 亚洲国产一区二区三区精品 | 亚洲视频一区二区三区 | 欧美日韩视频一区二区 | 国产精品区一区二区三 | 美国一级大黄大色毛片 | 久久精品亚洲一区二区三区浴池 | 一区二区三区在线视频观看 | 国产精品亚洲色图 | 久久精品一区二区国产 | 国产精品久久一区一区 | 日韩大片免费观看视频播放 | 一本久久精品一区二区 | 亚洲欧美日韩综合网导航 | 久久精品国产精品亚洲综合 | 日本免费一区二区三区 | 国产精品一区欧美日韩制服 | 久久一 | 久久91精品国产一区二区 | 国产一区二区在线播放 | 国产成人综合久久精品下载 | 国产成人久久久精品毛片 | 欧美亚洲另类在线观看 | 国产在线看不卡一区二区 | 国产一区三区二区中文在线 | 欧美v在线 | 国产精品最新 | 国产欧美精品一区二区三区四区 | 亚洲最新偷拍 | 波多野的店| 九九久久久2 | 国产又黄又a又潮娇喘视频 国产淫视频 | 欧美成人免费高清视频 | 91欧美一区二区三区综合在线 | 国产一级一片免费播放视频 | 日韩h视频| 91久久国产视频 | 一级一级特黄女人精品毛片视频 | 欧美色爽 |