JavaScript 小學 — if else switch 判斷式
判斷式,流程控制的條件語法,利用布林值的 true
或 false
去判斷只要達到特定條件就會執行某段程式碼。這在寫程式中非常常用到唷~要記得~
判斷式 if
他的結構是 if
後面接著 ()
裡面放這個行為的判斷條件,如果條件達成就可以去完成 {}
中的事情:
if(判斷條件){...如果條件成立,就會執行這裡的程式碼;}
回想一下以前小時候常常會造句說:如果…就…,如果長大賺大錢,就要買豪宅🤟🤟🤟???
var myMoney=1000;
if (myMoney>=1000000){
console.log('恭喜你買到台北市的廁所了!')
}
上面可以看到這個判斷式是當我的存款達到100萬,我就可以買廁所。但我現在只有1000元…所以我連說話的權力都沒有…(沒錢沒人權👼🙇🙇🙇)
else if
來看看 else if
,這個就是要補強前面的 if
啊,可以新增新的判斷式:
if(條件一){
如果條件一成立,就執行選項A;
} else if (條件二){
如果條件一不成立但條件成立,就執行選項B;
} else{
如果條件一跟二都不成立,就執行選項C;
}
那延續上面的例子來看看我究竟能用1000元買什麼💁?
var myMoney=1000;
if (myMoney>=1000000){
console.log('恭喜你買到台北市的廁所了!')
} else if (myMoney>=100000){
console.log('恭喜你買到頂規macbook pro 16寸拉!')
} else if (myMony>=10000){
console.log('恭喜你買到ipad 2018,還不是最新款式的')
} else {
console.log('可以吃碗魯肉飯')
}
這個 else if
的條件可以無限寫下去,你看到上面 else if
條件我全部都達不到,最後程式之神也會可憐你,給你一個 else
,一定可以達成~再怎樣也可以回家吃碗魯肉飯😅~
switch
switch
任天堂最新遊戲機,我超愛❤️❤️❤️,不是好嗎?
也是拿來「設定條件→比較→執行」 的拉,跟 if...else
很像,但 switch 會先將所有條件 case
先跑過一遍,找到符合的條件才會執行程式碼,因此網頁渲染的效能比較好。所以通常是有很多條件的時候才需要用到 switch
。
我們繼續延伸剛剛實例,這次我存到一萬了🤩:
var myMoney=10000;
if(myMoney==10000000){
console.log('恭喜你買到台北市的廁所了!')
}
else if(myMoney==10000){
console.log('恭喜你買到頂規macbook pro 16寸拉!')
}
else if(myMoney==50000){
console.log('恭喜你買到高階單眼拉!')
}
else if(myMoney==10000){
console.log('恭喜你買到ipad 2018,還不是最新款式的')
}
else{
console.log('可以吃碗魯肉飯');
}
上面結果是我買到 ipad 2018,但是為了買東西,總共跑了四次的比較運算,那我們用 switch 就可以,只要做一次就好:
var myMoney=10000;
switch(myMoney){
case 10000000:
console.log('恭喜你買到台北市的廁所了!');
break;
case 100000:
console.log('恭喜你買到頂規macbook pro 16寸拉!')
break;
case 50000:
onsole.log('恭喜你買到高階單眼拉!')
break;
case 10000:
console.log('恭喜你買到ipad 2018,還不是最新款式的')
break;
default:
console.log('可以吃碗魯肉飯');
}
直接把 switch
後面 ()
參數拿去一路跟 case
後面的值去比較,如果相等才會執行動作,但你看到上面是不是有個 break;
,因為如果沒加上 break;
就會執行完全部的後面的程式碼,加上是用來跳出程序的!!
另外 default
跟 else
一樣就是如果上面全部條件都沒達成的話,就會執行,也是可以把 default
夾在最前面,但是要記得也要加上 break;
喔~
switch
有好處,也有壞處,就是不能像if else
那麼的隨意,因為if else
有一個()
可以去做運算,但switch
只能以值去做相等的評判,所以可以自己再斟酌使用。
當然如果是要去比較字串的話那就用 switch
拉👍👍👍~
var myName = 'Jordan';
switch(myName){
case 'Zoe':
console.log('Zoe 在嗎?')
break;
case 'Yui':
console.log('Yui 在嗎?')
break;
case 'Jordan':
console.log('Jordan 在嗎?')
break;
}
BTW現在 google switch 根本全部都是遊戲機~