0%

JS-[JS101] 練習

判斷條件練習

練習一:判斷是否及格

請你自己寫出一段程式碼,是判斷一個叫做 score 的變數是否及格(超過或剛好 60 分),如果及格的話就輸出 pass,否則輸出 fail。
進階練習:
除了判斷是否及格以外,也請你對滿分做出特別判斷,如果是 100 分的話就輸出 you are no1!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function pass(score) {
if (score < 60) {
console.log('不及格,但沒關係,再接再厲!');
} else if (score === 100) {
console.log('你真是好棒棒!');
} else if (score > 100 || score < 0) {
console.log('咦,沒這樣的分數耶');
} else if (typeof score !== Number) {
console.log('輸入的不是數字型態');
} else {
console.log('恭喜,及格了');
}
}
pass(100); // 程式內是用 console.log,所以呼叫函式時就不需用 console.log

練習二:BMI 計算

假設體重是 70,身高是 180(1.8m),BMI 就是 70/(1.8*1.8) = 21。
現在請你寫出一個簡單的 BMI 計算器,用兩個變數代表體重跟身高,算出 BMI 之後判斷 BMI 是落在哪個範圍內並輸出相對應的字串。
體重過輕:BMI < 18.5
正常範圍:18.5 <= BMI < 24
過重:24 <= BMI < 27
輕度肥胖:27 <= BMI < 30
中度肥胖:30 <= BMI < 35
重度肥胖:35 <= BMI

這題原本做時一直多一個 undefined ,後來請教 hu 大才理解,console.log() 是印出,return 是回傳,印出是印出、回傳是回傳。如果在程式裡使用 console.log(),那麼呼叫程式時就不需用 console.log(),如果程式內是用 return 那麼呼叫函式時就要用 console.log() 來印出在螢幕上。
一般建議用 return ,function 裡面不要出現 console.log 讓程式保持乾淨。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function testBMI2(weight, height) {
height = height * 0.01;
var bmi = weight / (height * height);
bmi = parseFloat(bmi).toFixed(1);

if (bmi < 18.5) {
return 'BMI為:' + bmi + ' 您的體重過輕';
} else if (bmi >= 18.5 && bmi < 24) {
return 'BMI為:' + bmi + ' 您的體重正常';
} else if (bmi >= 24 && bmi < 27) {
return 'BMI為:' + bmi + ' 您的體重過重';
} else if (bmi >= 27 && bmi < 30) {
return 'BMI為:' + bmi + ' 您的體重為輕度肥胖';
} else if (bmi >= 30 && bmi < 35) {
return 'BMI為:' + bmi + ' 您的體重過輕為中度肥胖';
} else if (bmi >= 35) {
return 'BMI為:' + bmi + ' 您的體重過輕為重度肥胖';
} else {
return '輸入資料不正確';
}
}
console.log(testBMI2('s', 162));