1. 程式人生 > >JS選擇與判斷種類

JS選擇與判斷種類

(1) if-else判斷
名字由來:整個表示式由if-else控制
基本語法
if(條件){
。。。
}
else{
。。。
}
特點:if語句的語法簡單,結構清晰,但效能要低於三目運算子
注意

  1. 可以只寫if
  2. 也可以寫if…else if…else…【這種寫法能驗證多型別條件組合】

function rememory() {

var ys = prompt(“你高中的成熟度為多少?【可填寫三個等級1,2,3】”);
if (ys == “1”) {
alert(“你只能去回憶了!”);
}
else if (ys == “2”) {
alert(“有可能從二而終!”);
}
else if (ys == “3”) {
alert(“恭喜你能夠從一而終!”);
}
else {
alert(“只能輸入1,2,3三者之一!”);
}
}

function rememory() {

var ys = prompt(“你高中的成熟度為多少?【可填寫三個等級1,2,3】”);
if (ys == “1”) {
alert(“你只能去回憶了!”);
}
if (ys == “2”) {
alert(“有可能從二而終!”);
}
if (ys == “3”) {
alert(“恭喜你能夠從一而終!”);
}
if (ys != “3” && ys != “2” && ys != “1”) {
alert(“只能輸入1,2,3三者之一!”);
}
}

(2) 三目運算子
名字由來:它需要三個運算元,因此稱為三目運。
基本語法: 條件 ? 表示式1 : 表示式2
賦值:可以直接將三目運算的結果賦值給變數。
條件
這個條件可以是一個變數,常量,表示式語句等,最終他都會轉換為一個布林型別(true/false)來進行判斷條件是否成立,如果為true就表示條件成立,為false就表示條件不成立。
表示式1/2
表示式1、2可以也可以是一個常量,變數,表示式,甚至又是一個三目運算子。更甚至為一個函式,物件等
能夠轉換為false的表示式有
null;undefined;0;空字串("");NaN(Not a Number的縮寫)
儘管 && 和 || 運算子能夠使用非布林值的運算元, 但它們依然被看作是布林操作符,因為它們的返回值總是能夠被轉換為布林值。

(3) switch-case條件選擇
使用場景:當“if-else語句鏈”過長,並且條件只有一個時使用
目的:讓結構更清晰,同時提高效能。
基本語法
switch(條件){
case 值1: 表示式1; break;
case 值2: 表示式2; break;
case 值3: 表示式3; break;
default:
表示式;
}
注意

  1. switch-case判斷時是做的全等運算。

  2. 寫程式碼時記得不要忘記了break與default;

  3. 一般switch-case是放在一個函式裡面的。
    (4) 課堂練習

  4. 使用prompt獲取使用者輸入的年齡,再使用switch–case表示出,使用者在3,8,12,16,20,等不同年齡階段時在做什麼,並且使用aler彈出在具體做什麼,在上幾年級。
    最後封裝成函式進行呼叫。

  5. 人都會做夢的,那麼請你做個如下白日夢,假設你某天在路上撿了500萬美金,那麼你可能會做出下面選擇之一:
    ① 上交警察叔叔?【輸入1】
    ② 捐獻給慈善機構?【輸入2】
    ③ 收入自己的懷中從此一輩子衣食不愁?【輸入3】
    ④ 又或者獨自尋找到失主還給他?【輸入4】
    此時,你會做出什麼選擇呢?請使用下面三種寫法表示出你內心的想法,並且使用console.log()打印出每種選擇可能的結果。

  1. 純粹的if實現

  2. if-else實現

  3. if–else-if—else

  1. 最後封裝成函式呼叫

  2. 將第二題使用三目運算子改寫實現

(5) 作業

  1. 現在都流行支付寶掃紅包,然後小明在想
    如果他掃了15元人民幣以上,早餐就買兩份麵包+牛奶(吃一份扔一份,盡顯土豪風範)。
    如果他掃了8-15元,早餐就買一份麵包+牛奶(剛剛夠吃,土豪不起來啊,真憂傷)。
    如果他掃了8元人民幣以下,早餐就買個饅頭+牛奶吧(窮人一枚,麵包是吃不起了,還是繼續吃我的饅頭吧)。
    請使用以下幾種方式分別實現出此條件選擇邏輯
    ① 純粹的if實現
    ② if-else實現
    ③ if–else-if—else
    ④ 三目運算子
    ⑤ switch-case

  2. 正所謂笨鳥先飛,勤能補拙。對於絕多大數的行業而言,勤奮即便不能讓你登頂,但是最少能夠讓你達到行業的中等偏上的水平。
    所以隔壁小王思索再三,準備去做下智商測評,他決定
    如果他的測評分數不及格,那他就要比別人努力200%.
    如果他的分數及格了但是沒有達到優秀,他就要比別人努力150%.
    即便他的分數達到了優秀,他也要比別人努力20%.
    他,現在的隔壁小王,未來的隔壁老王,立志以後一定要迎娶白富美,腳踢高富帥,走上人生的頂峰!
    請使用以下幾種方式分別實現出此條件選擇邏輯
    ① 純粹的if實現
    ② if-else實現
    ③ if–else-if—else
    ④ 三目運算子
    ⑤ switch-case