今天主要也來講解一些在JS裡的基本觀念!新手們撐住啊!
大家最常使用的應該就是if..else
,在js也可以使用switch case
,但大部分情況我自己還是使用if判斷式
居多XD
if..else
if(條件) {
// 條件成立就執行此程式碼
} else {
// 條件不成立就執行此程式碼
}
當然也可以有if..elseif...
if(條件1) {
// 條件1成立就執行此程式碼
} else if (條件2) {
// 條件2成立就執行此程式碼
} else {
// 以上條件都不成立執行此程式碼
}
switch
在某些時候會比起if判斷式看起來更加簡潔更見
switch (條件) {
case 值1:
//如果等於此值1就執行此程式碼
break;
case 值2:
//如果等於此值2就執行此程式碼
break;
case 值3:
//如果等於此值3就執行此程式碼
break;
default:
// 都沒有成立就執行此程式碼
break;
}
舉例像是:
let a = 8
switch (a % 3) {
case 1:
console.log("case1")
break;
case 2:
console.log("case2")
break;
case 3:
console.log("case3")
break;
default:
console.log("case4")
break;
} // 會印出"case2"
但如果使用if
的話會像是這樣:
let a = 8
if (a % 3 === 1) {
console.log("case1")
} else if (a % 3 === 2) {
console.log("case2")
} else if (a % 3 === 3) {
console.log("case3")
} else {
console.log("case4")
}
雖然看起來比較短,但是有注意到嗎?條件式其實看起來都很相似,等於是重複寫了好幾次,如果遇到這種情況可以考慮使用switch
再來要注意的事情是 一定要記得寫break
否則switch
是不會停下來的喔!
let a = 8
switch (a % 3) {
case 1:
console.log("case1")
case 2:
console.log("case2")
case 3:
console.log("case3")
default:
console.log("case4")
} // 會印出"case2~4" 因為沒有告知他何時要停下!!!!
如果寫JS很熟練之後其實大部分的人都會直接使用三元運算子,才是真正的簡潔有力啊!!!!
(條件) ? true的話回傳第一個值 : 為false就傳第二個值;
所以如果原本的判斷式為:
if (ck >= 30) {
bmi = '要注意ㄚㄚㄚㄚ'
} else {
bmi = '不重不重'
}
三元運算子:
let bmi = (ck>=30) ? '要注意ㄚㄚㄚㄚ' : '不重不重'
是不是簡短到爆炸啦!!!!但如果很少使用的話其實很不直覺,但個人還是推薦要多練一下三元運算子!
主要就是讓程式幫你跑你指定要重複的某件事情,再透過某些條件停止迴圈,否則會無止盡的跑下去XDD
for
在已知有個明確要重複執行的次數的話建議使用for
,但大部分情況我個人也都是使用for
居多XD
for (初始值;條件;結束後的改動) {
// 要執行的程式碼
}
運作的方式大概是先找到初始值,之後看是否符合條件,如果符合的話就執行程式碼,並回傳結束後的改動到下一次迴圈的開始。
while
在不太確定要重複執行的次數的話建議使用while
while (條件) {
//要執行的程式碼
//結束後的改動
}
break
、continue
主要是用來跳過或判斷到某個值之後就停。
break
=> 遇到直接跳離迴圈,不做下次continue
=> 跳過這次,跑下一次的迴圈
所以如果這次想要找出陣列中第一個數字1:
let a = [0,2,1,3]
for(let i = 0; i < a.length; i++ ) {
if(a[i] == 1) {
console.log(a.indexOf(a[i])) // 2
break;
}
}
或是如果當遇到1的時候跳過不做:
let a = [0,2,1,3]
for(let i = 0; i < a.length; i++ ) {
if(a[i] == 1) {
continue;
}
console.log(a[i]) // 0,2,3
}
以上就先介紹到這邊,大家明天見摟~