if(xx)和 a==b的判斷的博客

part one 關(guān)于== 與 ===

嚴(yán)格相等 ===:

在日常中使用全等操作符幾乎總是正確的選擇垢夹。全等操作符比較兩個(gè)值是否相等榆苞,兩個(gè)被比較的值在比較前都不進(jìn)行隱式轉(zhuǎn)換和悦。如果兩個(gè)被比較的值具有不同的類(lèi)型赞哗,這兩個(gè)值是不全等的牌里。否則融柬,如果兩個(gè)被比較的值類(lèi)型相同死嗦,值也相同,并且都不是 number 類(lèi)型時(shí)粒氧,兩個(gè)值全等越除。最后,如果兩個(gè)值都是 number 類(lèi)型,當(dāng)兩個(gè)都不是 NaN摘盆,并且數(shù)值相同翼雀,或是兩個(gè)值分別為 +0 和 -0 時(shí),兩個(gè)值被認(rèn)為是全等的骡澈。

var num = 0;
var obj = new String("0");
var str = "0";
var b = false;

console.log(num === num); // true
console.log(obj === obj); // true
console.log(str === str); // true

console.log(num === obj); // false
console.log(num === str); // false
console.log(obj === str); // false
console.log(null === undefined); // false
console.log(obj === null); // false
console.log(obj === undefined); // false

非嚴(yán)格相等 ==

相等操作符比較兩個(gè)值是否相等锅纺,在比較前將兩個(gè)被比較的值轉(zhuǎn)換為相同類(lèi)型。在轉(zhuǎn)換后(等式的一邊或兩邊都可能被轉(zhuǎn)換)肋殴,最終的比較方式等同于全等操作符 === 的比較方式囤锉。 相等操作符滿足交換律。

image

一般而言护锤,根據(jù) ECMAScript 規(guī)范官地,所有的對(duì)象都與 undefined 和 null 不相等。

var num = 0;
var obj = new String("0");
var str = "0";
var b = false;

console.log(num == num); // true
console.log(obj == obj); // true
console.log(str == str); // true

console.log(num == obj); // true
console.log(num == str); // true
console.log(obj == str); // true
console.log(null == undefined); // true

// both false, except in rare cases
console.log(obj == null);
console.log(obj == undefined);

part two 關(guān)于if的判斷

基本:對(duì)于括號(hào)里的表達(dá)式烙懦,會(huì)被強(qiáng)制轉(zhuǎn)換為布爾類(lèi)型
先上原理

image

// 題目1:如下代碼輸出什么?
if ("hello") {
console.log("hello")
}
output: hello/ 非空字符串條件為真

// 題目2:如下代碼輸出什么?
if ("") {
console.log('empty')
}
if 語(yǔ)句不執(zhí)行驱入,空字符串為false

// 題目3:如下代碼輸出什么?
if (" ") {
console.log('blank')
}
同題目一,非空字符串為真氯析。
// 題目4:如下代碼輸出什么?
if ([0]) {
console.log('array')
}
數(shù)組為object亏较,為真,

if('0.00'){
console.log('0.00')
}
非空字符串掩缓,為真雪情。

part three == 的判斷

image

對(duì)于數(shù)字來(lái)說(shuō) 0 就是false,
"" == 0 //題目1
兩邊都是false你辣,因此結(jié)果為true
" " == 0 //題目2
空白字符轉(zhuǎn)換(tonumber)后為0, 結(jié)果為true
"" == true //題目3
結(jié)果false巡通,空字符串為false
"" == false //題目4
結(jié)果為true 理由同上
" " == true //題目5
結(jié)果為false,同題目2
!" " == true //題目6
除了空字符串為false;其他都為true舍哄,true取反為false
!" " == false //題目7
同上
"hello" == true //題目8
hello轉(zhuǎn)換為數(shù)字為NAN宴凉,因此不為true
"hello" == false //題目9
hello轉(zhuǎn)換為數(shù)字為NAN,因此也不為false
"0" == true //題目10
"0"轉(zhuǎn)換成數(shù)字為0表悬,因此為false
"0" == false //題目11
為true
"00" == false //題目12
為true
"0.00" == false //題目13
為true
undefined == null //題目14
結(jié)果為true弥锄; 死記硬背把
{} == true //題目15
結(jié)果為false,里面無(wú)tovalue 只是一個(gè)空的字符串
[] == true //題目16
同上蟆沫,空數(shù)組叉讥。
var obj = {
a: 0,
valueOf: function(){return 1}
}
valueof 得到1,就拿1和這些判斷
obj == "[object Object]" //題目17
false饥追,1图仓!= "[object Object]"
obj == 1 //題目18
true
obj == true //題目19
true
總結(jié): 估計(jì)也只能面試筆試的時(shí)候用的上了,實(shí)際工作中估計(jì)難得用上

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末但绕,一起剝皮案震驚了整個(gè)濱河市救崔,隨后出現(xiàn)的幾起案子惶看,更是在濱河造成了極大的恐慌,老刑警劉巖六孵,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纬黎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡劫窒,警方通過(guò)查閱死者的電腦和手機(jī)本今,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)主巍,“玉大人冠息,你說(shuō)我怎么就攤上這事≡兴鳎” “怎么了逛艰?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)搞旭。 經(jīng)常有香客問(wèn)我散怖,道長(zhǎng),這世上最難降的妖魔是什么肄渗? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任镇眷,我火速辦了婚禮,結(jié)果婚禮上翎嫡,老公的妹妹穿的比我還像新娘欠动。我一直安慰自己,他們只是感情好钝的,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布翁垂。 她就那樣靜靜地躺著铆遭,像睡著了一般硝桩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上枚荣,一...
    開(kāi)封第一講書(shū)人閱讀 51,631評(píng)論 1 305
  • 那天碗脊,我揣著相機(jī)與錄音,去河邊找鬼橄妆。 笑死衙伶,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的害碾。 我是一名探鬼主播矢劲,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼慌随!你這毒婦竟也來(lái)了芬沉?” 一聲冷哼從身側(cè)響起躺同,我...
    開(kāi)封第一講書(shū)人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丸逸,沒(méi)想到半個(gè)月后蹋艺,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡黄刚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年捎谨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片憔维。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡涛救,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出埋同,到底是詐尸還是另有隱情州叠,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布凶赁,位于F島的核電站咧栗,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏虱肄。R本人自食惡果不足惜致板,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望咏窿。 院中可真熱鬧斟或,春花似錦、人聲如沸集嵌。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)根欧。三九已至怜珍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間凤粗,已是汗流浹背酥泛。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嫌拣,地道東北人柔袁。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像异逐,于是被迫代替她去往敵國(guó)和親捶索。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容