JavaScript從入門到精通 純筆記(day02)--運算符與邏輯分支

一、一元運算符

注:()不能與++一起使用,因為優(yōu)先級一樣,控制臺會報錯,如果寫一行,要分開寫

二、比較

1、字符與數(shù)值進行比較-->會自動轉換成number,若轉換不成功,就是NaN,結果就是false

2、只要看到NaN,就是false(NaN==NaN,結果就是false)

3、字符串和字符串之間的比較(轉成ASCII碼進行比較,A:65,a:65,比較第一位)

? ? ? ?eg:

? ? ? ? ? ? ' a ' > ' b '? ? 結果為false

? ? ? ? ? ? ' bAA ' < ' azz '? ? 結果為false

4、undefined和null進行比較(undefined是null的派生子類)

? ? ? ? undefined==null? ? ? ? 結果為true

? ? ? ? undefined===null? ? ? ? 結果為false

5、boolean類型的值與null進行比較(自動轉數(shù)值)

? ? ? ? eg:

? ? ? ? ? ? ? ? true>null? ? 結果為true

? ? ? ? ? ? ? ? true>undefined? ? 結果為false(undefined->NaN)

6、null和0 的比較(null是空對象的引用)

? ? ? ? eg:

? ? ? ? ? ? ? ? null==0? ? 結果為false(null對應的是一個引用類型,引用類型比較的是地址)

? ? ? ? ? ? ? ? 注:null在進行>和<等會轉成number類型,但是在==時不會轉成number類型

7、在同時有轉換和比較的時候,會攸縣轉換再進行比較

三、邏輯運算符

&&短路與

&斷路與

? ? &&所有的同時滿足才為真,只要前面有一個假,后面就不會看了

? ? &無論真假,他都要看完全部

? ? ?所以比較二者而言,第一種效率更加高一點

||短路或

|斷路或

? ? ||有一個true就是true,前面只要出現(xiàn)true,就不用看后面了

? ? |一樣要看完全部

? ? 第一種效率高

!取反? ? 自動轉成布爾類型

'?短路或?'具體操作

? ??????1、如果兩個都是false,取最后一個值

? ? ? ? 2、如果兩個都是true情況下,取前面那個為true的結果

?三目運算符(三目運算符的優(yōu)先級要低于邏輯運算符的優(yōu)先級)

四、程序控制語句

? ? 1、邏輯分支if

? ??????結構:

????????順序:從上朝下執(zhí)行的代碼就是順序

????????分支(選擇):根據(jù)不同的情況,執(zhí)行對應代碼

????????循環(huán):重復做一件事情

? ? ? ? ? ? 邏輯if-單分支

? ???????????if條件判斷語句的寫法:

? ? ? ???????????????????????? if (表達式){

? ? ? ? ? ????????????????????????????????????? 執(zhí)行語句

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? 注:

????????????????????1、if后面的()不能省略。

????????????????????2、一條執(zhí)行語句可以省略{}, 多條時不能省略{}, 建議不管是一條還是多條都寫上{}

? ? ? ? ? ? ? ? ? ? 3、當括號內(nèi)的表達式結果成立(為true時),則執(zhí)行大括號內(nèi)的語句,否則不執(zhí)行。


? ??????????????if條件多分支語句的寫法:

? ? ? ? ? ? ? ? ? ? ? ? ??if(表達式){

????????????????????????????????????執(zhí)行語句1

? ? ? ? ? ? ? ? ? ? ? ? ? }else if(表達式2){

????????????????????????????????????執(zhí)行語句2

? ? ? ? ? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ? ? ? ? ? ..........

????????????????????????else{

????????????????????????????????????執(zhí)行語句n

? ? ? ? ? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ? ? ? 注:從上往下,滿足哪個條件就執(zhí)行其相對應的語句,都不滿足時,執(zhí)行最后的else的語句,只能

????????????????????????????進入其中之一。

????????????if 的嵌套(嵌套if時, 內(nèi)層的每一對if-else代碼要縮進且對齊;編寫代碼時,else要與最近的if配對。)

2、邏輯分支switch

? ? ? ? ? 語法:

? ??????????????????switch(表達式) {

? ? ???????????????????????????????? case 常量1: 語句; break;

? ? ???????????????????????????????? case 常量2: 語句; break;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?…

? ? ???????????????????????????????? case 常量n: 語句; break;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?default:語句; break;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}

? ? ? ? ? ? 注:break的作用:是跳出switch結構,如果沒有break,則繼續(xù)執(zhí)行下面分支的的語句(而不進行

????????????????????判? 斷)。注意case穿透,要加break

? ? ? ? ? ??

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容