[JS] 判斷筆記. 這一篇筆記記錄了運算子跟判斷式怎麼寫 - Medium
文章推薦指數: 80 %
JavaScript 裡有好幾種類型的運算子,其中跟判斷式有關的運算子有兩種:比較運算子及邏輯運算子。
比較運算子. 比較運算子會比較兩個值,並依比較的結果回傳 true 或 false ...
GetunlimitedaccessOpeninappHomeNotificationsListsStoriesWritePublishedin馬格蕾特的樹洞[JS]判斷筆記運算子、if...else、switch這一篇筆記記錄了運算子跟判斷式怎麼寫,因為題材本身就很零碎的關係,所以本篇內容會稍微不太語意化,請多包涵。
運算子JavaScript裡有好幾種類型的運算子,其中跟判斷式有關的運算子有兩種:比較運算子及邏輯運算子。
比較運算子比較運算子會比較兩個值,並依比較的結果回傳true或false。
拿來做比較的值可以是數字、字串、布林,或物件。
比較運算子總共有以下這幾個符號:等於:==不等於:!==大於:>小於:=小於等於:<=console.log(5==6);//falseconsole.log(5!==6);//true=跟==的區別=:賦予變數一個值(最常見的賦值運算子)==:比較兩個值是否相同(比較運算子)比較運算子==、!==用法例如,可以先用變數分別記錄要比較的兩個值,宣告第三個變數,用以儲存變數一==或!==變數二的值。
vara=1;varb=2;varc=a!==b;console.log(c);//true嚴格等於(===)用==去判斷兩個值是否相等時,解譯器會自動忽略型別(字串類型、數字類型)的不同,而直接判斷內容是否相等。
console.log(1=='1');//true而且解譯器會自動把數字1視作布林值的ture、把數字0視作布林值的false。
console.log(true==1);//trueconsole.log(fasle==0);//true如果使用===則能先判斷型別,再判斷內容。
console.log(1==='1');//falseconsole.log('1'==='1');//true邏輯運算子通常在判斷式裡與布林值一起使用。
包含以下三種符號:&&:and,連接兩個以上的條件,全部條件成立才會回傳true||:or,連接兩個以上的條件,只要其中一個條件成立就會回傳true!:not,可以把回傳值轉成相反的,例如下面的程式碼console.log(2>3);//falseconsole.log(!(2>3));//true注意,判斷兩個以上的條件時,條件跟條件之間必須用&&跟||連接。
我有時候會忘記這件事orzvara=1<2<3;//錯誤寫法varb=1<2&&2<3;//正確寫法判斷式判斷式是JavaScript用來控制流程的,當指定的條件成立時,就會執行後續的指令。
判斷式的語法有兩種:if...else和switch。
if…elseif後面的小括號內,為條件式;當條件成立時會執行大括號內的程式碼,稱為陳述式。
如果在條件不成立的時候,也想要執行特定的動作,就在if大括號外面使用else語法。
if(條件,由比較運算子或邏輯運算子組成){如果條件成立,就會執行這裡的程式碼;}else{如果條件不成立,就會執行這裡的程式碼;}elseif當判斷情境更複雜時,這時if...else就可以搭配elseif,用來新增條件判斷。
if(條件一){如果條件一成立,就執行選項A;}elseif(條件二){如果條件一不成立但條件成立,就執行選項B;}else{如果條件一跟二都不成立,就執行選項C;}再次提醒,括號內的條件需要透過運算子來進行兩次判斷,例如:elseif(18.5<=BMI&&BMI<25)。
或是也可以省略&&左邊的判斷運算子,為什麼呢?以這個例子來說,如果BMI小於18.5,那在第一條判斷是否小於18.5就會通過,並執行第一個條件判斷的內容了,所以如果程式跑到第二個條件,代表他一定大於18.5了。
(參考資料:條件判斷.30天JavaScript從入門到進階)if…else+elseif範例varfull=8//飽足程度1~10functioneat(food){console.log('我現在要吃'+food);}if(full<=3){eat('披薩');//飽足程度小於等於3時,呼叫帶入'披薩'作為參數的eat函式}elseif(full<=7&&full>3){eat('沙拉');//飽足程度小於等於7且大於3時,呼叫帶入'沙拉'作為參數的eat函式}else{console.log('我超飽不想吃東西');}switch的用法switch跟if...else很像,都是拿來設條件、比對、跑結果用的,但因為switch會先將所有條件(case)先跑過一遍,找到符合的條件才會執行程式碼,因此網頁渲染的效能比較好。
通常是有很多條件的時候才需要用到switch。
switch(參數){case條件一:參數與條件一符合,執行相關的程式碼;break;//每個case:後方都會補上break;來阻止已完成的區塊在後方繼續執行case條件二:參數與條件二符合,執行相關的程式碼;break;default:如果沒有任何一個case:符合參數,就執行相關的程式碼;break;}switch後面小括號內的參數,是跟各條件比較的基準,如果參數剛好與case後面的值一樣,就面執行case區塊內的指令。
而default的區塊就是當上面所有case都不成立的時候會執行。
每個case區塊都應該加上break作為結束,break的用途是停止執行後面的程式碼。
如果不加break,switch中的每一個case都會執行。
下一篇:[JS]迴圈筆記medium.com--Morefrom馬格蕾特的樹洞這裡有技術文章,以及公職與工程師的職涯心得。
Readmorefrom馬格蕾特的樹洞AboutHelpTermsPrivacyGettheMediumappGetstartedGretaMa482Followers正一類,大學一畢業就去當公務員,中間因緣際會轉職為前端工程師,之後又再任公職。
這就是終點了嗎?我不那麼覺得。
FollowMorefromMediumMaddyJavaScriptWeekly():Week1NabilArtaPushnotificationinbrowserandhowtouseitusingJavascriptMarcusJonesGiveALittleToGitEvenMoreYadabSdJavascriptmapvsforEachvsfiltervsfindHelpStatusWritersBlogCareersPrivacyTermsAboutKnowable
延伸文章資訊
- 1JavaScript 基礎知識-邏輯運算子&&,|| - iT 邦幫忙
JavaScript 基礎知識-邏輯運算子&&,|| ... 生活上也會有類似的邏輯判斷,例如:媽媽拜託小明去市場買菜,要買到牛肉,青菜和洋蔥,成功買到這三樣,媽媽才 ...
- 2JavaScript Comparison and Logical Operators - W3Schools
JavaScript also contains a conditional operator that assigns a value to a variable based on some ...
- 3JavaScript 使用if 語句中的的OR 條件
JavaScript 包含條件語句,如if else 語句、switch case 等。這些語句是有條件的,用於檢查給定條件是否為True OR Not,為此我們使用OR ||和&& 運算 ...
- 4[Odoo 13] How to copy value from many2many child field to ...
So, I think only way to do that is to use Javascript/jQuery. odoo.define('budget.button.copy_name...
- 5[JS] JavaScript 運算子(Operator) | PJCHENder 未整理筆記