2019-12-13 第三章:一些剩余的操作符 和 語句

5.相等操作符

????在javascript里家凯,可以進(jìn)行相等判斷的有兩種操作符:相等操作符‘==’和全等操作符‘===’疗疟。出現(xiàn)兩個(gè)相等操作符程帕,究其根源,還是源于js中邏輯判斷前獨(dú)有的類型轉(zhuǎn)換帶來的問題地啰。當(dāng)一個(gè)對(duì)象被進(jìn)行邏輯操作愁拭,這個(gè)對(duì)象會(huì)被轉(zhuǎn)化為與另外一個(gè)操作數(shù)相近的類型。這有的時(shí)候是違背開發(fā)人員初衷的亏吝。因此岭埠,js特別定義了兩種相等操作符:

????相等操作符:先轉(zhuǎn)換,再比較蔚鸥。

? ? 全等操作符:僅比較惜论,不轉(zhuǎn)換。

? ? ① 相等與不等操作符:這兩個(gè)類型會(huì)先強(qiáng)制類型轉(zhuǎn)換操作數(shù)止喷,再進(jìn)行比較馆类。其轉(zhuǎn)換遵循下列規(guī)則:

? ? ☆ 如果有一個(gè)操作數(shù)為bool值,則在比較前將其轉(zhuǎn)化為數(shù)值:True = 1弹谁;False = 0乾巧;

? ? ☆ 如果一個(gè)操作數(shù)是字符串,另外一個(gè)操作數(shù)是數(shù)值预愤,則將字符串轉(zhuǎn)化為數(shù)值沟于;

? ? ☆ 如果一個(gè)操作數(shù)是對(duì)象,另外一個(gè)不是植康,則先調(diào)用valueOf()將對(duì)象轉(zhuǎn)化為與另外一個(gè)類型相同的基本類型社裆;

? ? 在進(jìn)行比較時(shí),相等與不等操作符遵循以下原則:

? ? ☆ null = undefined向图;

? ? ☆ null與undefined不能轉(zhuǎn)化為其他類型;

? ? ☆ 如果兩個(gè)操作數(shù)中有至少一個(gè)為NaN,則相等判斷為false标沪;

? ? ☆ 如果兩個(gè)操作數(shù)都是對(duì)象榄攀,則比較他們是否指向同一個(gè)對(duì)象

書中一些異常的值

? ? ② 全等與不全等操作符:除了在比較前不做數(shù)據(jù)類型的轉(zhuǎn)換金句,全等與相等在比較時(shí)遵循不相同的原則檩赢,全等代表在不進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換時(shí),兩個(gè)操作數(shù)是否相等违寞,而這種相等是值贞瞒,數(shù)據(jù)類型的完全相等。

null與undefined在全等和相等下的表現(xiàn)完全不同

6.一些操作符的剩余知識(shí)

? ? ① 賦值操作符:A = bool_exp : value1 ? value2趁曼;其含義為當(dāng)bool_exp = true時(shí)军浆,則A = value1,否則A = value2挡闰。

? ? ② 賦值操作符:由=發(fā)展出的一系列賦值操作符:+=乒融,-=掰盘,*=,/=赞季,%=愧捕,<<=,>>=申钩,需要記住的是次绘,這些操作符與對(duì)應(yīng)的A = A op B在效率上沒有任何差別,僅僅是為了簡(jiǎn)化寫法而發(fā)明撒遣。

? ? ③ 逗號(hào)操作符:逗號(hào)操作符允許在一個(gè)語句中做多個(gè)操作邮偎,通常在定義變量或賦值的時(shí)候使用:

逗號(hào)操作符也是為了簡(jiǎn)化寫法而發(fā)明

六.語句

語句是ECMAScript中的主要內(nèi)容,定義為使用若干關(guān)鍵字來完成一組任務(wù)愉舔。

1.if語句

典型的判斷語句钢猛,沒什么可多提的。

2.do-while語句

do-while語句是后置判斷的循環(huán)語句轩缤,適用于循環(huán)體至少執(zhí)行一次的情況命迈。

3.while語句

while語句是前置判斷的循環(huán)語句,適用于循環(huán)體執(zhí)行0次或若干次的情況火的。

4.for語句

for語句也是一種前置判斷的循環(huán)語句壶愤,但是其具備在循環(huán)開始前,先定義循環(huán)變量馏鹤,以及定義循環(huán)后追加操作的能力征椒。

5.for-in語句

for-in語句是一種專門被設(shè)計(jì)出來用來枚舉對(duì)象的語句。

可以發(fā)現(xiàn)i = key湃累,如果想打印value勃救,則要借用a.i或a[i]

for-in循環(huán)的運(yùn)行機(jī)理是這樣的:每次循環(huán)時(shí),將對(duì)象的一個(gè)屬性名賦值給i治力,再進(jìn)行循環(huán)操作蒙秒。需要注意的是:因?yàn)镋CMAScript對(duì)象的屬性都是沒有順序的,因此for-in循環(huán)的結(jié)果是沒有順序性的宵统,依照不同的瀏覽器晕讲,得到的結(jié)果可能會(huì)不同。但是可以確定的是:所有的屬性都會(huì)被返回一次马澈。

如果for-in循環(huán)的對(duì)象 = null 或 undefined瓢省,循環(huán)將執(zhí)行0次(ES5修復(fù),ES5前會(huì)報(bào)錯(cuò))

6.Lbel語句

Label語句可以形容為ECMAScript中的go-to痊班,當(dāng)語句執(zhí)行到某個(gè)位置需要跳出到另外一個(gè)位置時(shí)勤婚,可以使用label語句。通常與continue涤伐,break等循環(huán)跳出條件一起使用蛔六。

還是不推薦使用label的荆永,會(huì)破壞程序的邏輯性

7.break與continue語句

beak指立刻從當(dāng)前位置強(qiáng)制結(jié)束整個(gè)循環(huán)跳出,而continue指立刻從當(dāng)前位置結(jié)束本輪循環(huán)国章,執(zhí)行for語句定義的追加操作并開始下一輪循環(huán)具钥。

8.with語句

基本淘汰,在這就不多提了液兽。

9.switch-case語句

為了避免寫出if()else if() else if()而被發(fā)明骂删,記一下js中的switch的特點(diǎn):ECMAScript中的switch中可以使用任何類型(在絕大多數(shù)語言中都只支持使用數(shù)字,例如C++四啰,Java)宁玫,其次,case的值也可以是任何類型柑晒,甚至是一個(gè)表達(dá)式:

在代碼中通常代表分情況討論的邏輯
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末欧瘪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子匙赞,更是在濱河造成了極大的恐慌佛掖,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涌庭,死亡現(xiàn)場(chǎng)離奇詭異芥被,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)坐榆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門拴魄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人席镀,你說我怎么就攤上這事匹中。” “怎么了豪诲?”我有些...
    開封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵顶捷,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我跛溉,道長(zhǎng),這世上最難降的妖魔是什么扮授? 我笑而不...
    開封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任芳室,我火速辦了婚禮,結(jié)果婚禮上刹勃,老公的妹妹穿的比我還像新娘堪侯。我一直安慰自己,他們只是感情好荔仁,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開白布伍宦。 她就那樣靜靜地躺著芽死,像睡著了一般。 火紅的嫁衣襯著肌膚如雪次洼。 梳的紋絲不亂的頭發(fā)上关贵,一...
    開封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音卖毁,去河邊找鬼揖曾。 笑死,一個(gè)胖子當(dāng)著我的面吹牛亥啦,可吹牛的內(nèi)容都是我干的炭剪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼翔脱,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼奴拦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起届吁,我...
    開封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤错妖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后瓷产,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體站玄,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年濒旦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了株旷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尔邓,死狀恐怖晾剖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情梯嗽,我是刑警寧澤齿尽,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站灯节,受9級(jí)特大地震影響循头,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜炎疆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一卡骂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧形入,春花似錦全跨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)渺杉。三九已至,卻和暖如春挪钓,著一層夾襖步出監(jiān)牢的瞬間是越,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工诵原, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留英妓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓绍赛,卻偏偏與公主長(zhǎng)得像蔓纠,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吗蚌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

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

  • 第1章 JavaScript 簡(jiǎn)介 JavaScript 具備與瀏覽器窗口及其內(nèi)容等幾乎所有方面交互的能力腿倚。 歐洲...
    力氣強(qiáng)閱讀 1,136評(píng)論 0 0
  • 1敷燎、標(biāo)識(shí)符 標(biāo)識(shí)符是指變量、函數(shù)箩言、屬性的名字硬贯,或函數(shù)的參數(shù)。 格式規(guī)則: 第一個(gè)字符必須是一個(gè)字母陨收、下劃線(_)或...
    風(fēng)中丶凌亂閱讀 1,631評(píng)論 0 0
  • 1务漩、標(biāo)識(shí)符 標(biāo)識(shí)符是指變量拄衰、函數(shù)、屬性的名字饵骨,或函數(shù)的參數(shù)翘悉。 格式規(guī)則: 第一個(gè)字符必須是一個(gè)字母、下劃線(_)或...
    霜天曉閱讀 702評(píng)論 0 0
  • 本章內(nèi)容 語法 數(shù)據(jù)類型 流控制語句 理解函數(shù) 3.1 語法 3.1.1 區(qū)分大小寫 區(qū)分大小寫 3.1.2 標(biāo)識(shí)...
    悶油瓶小張閱讀 719評(píng)論 0 0
  • 第5章 引用類型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,237評(píng)論 0 4