在 JavaScript 中,你可以使用下列的關係運算子和相等運算子來比較數字。
| 比較 | 運算子 |
|---|---|
| 大於 | a > b |
| 大於或等於 | a >= b |
| 小於 | a < b |
| 小於或等於 | a <= b |
| (嚴格)等於 | a === b |
| 不等於(嚴格) | a !== b |
比較的結果永遠是布林值:true或false。
1 < 3;
// => true
2 !== 2;
// => false
1 === 1.0;
// => true
// All numbers are floating-points, so this is different syntax for
// the exact same value.
在 JavaScript 中,上面的比較運算子也可以用來比較字串。 這種情況下,會採用字典(詞典)順序。 你可以在這裡找到列出所有字元確切順序的清單。
'Apple' > 'Pear';
// => false
'a' < 'above';
// => true
'a' === 'A';
// => false
在 JavaScript 中,常見的條件執行邏輯方式是使用if敘述。
它由if關鍵字、以括號包住的條件,以及以大括號包住的程式區塊組成。
只有當條件的評估結果為true時,程式區塊才會執行。
if (condition) {
// code that is executed if "condition" is true
}
它可以單獨使用,也可以和else關鍵字搭配使用。
if (condition) {
// code that is executed if "condition" is true
} else {
// code that is executed otherwise
}
若要在else敘述中巢狀加入另一個條件,可以使用else if。
if (condition1) {
// code that is executed if "condition1" is true
} else if (condition2) {
// code that is executed if "condition2" is true
// but "condition1" was false
} else {
// code that is executed otherwise
}
在這個練習中,你會寫一些程式碼,幫助你準備購買車輛。
你有三個任務:判斷自己是否需要取得駕照、幫助自己在兩輛車之間做選擇,以及估算一輛中古車的合理價格。
有些種類的車輛需要駕照才能駕駛。
假設只有'car'和'truck'這兩種類型需要駕照,其他種類都可以在沒有駕照的情況下駕駛。
實作needsLicense(kind)函式,它接收車輛的種類,並回傳一個布林值,表示這個種類的車輛是否需要駕照。
needsLicense('car');
// => true
needsLicense('bike');
// => false
你評估了手邊可選的車輛。
你成功把範圍縮小到兩個選項,但你需要有人幫你做最後的決定。
為此,請實作chooseVehicle(option1, option2)函式,它接收兩輛車作為引數,並回傳一個決定,其中包含在字典順序中排在前面的那個選項。
chooseVehicle('Wuling Hongguang', 'Toyota Corolla');
// => 'Toyota Corolla is clearly the better choice.'
chooseVehicle('Volkswagen Beetle', 'Volkswagen Golf');
// => 'Volkswagen Beetle is clearly the better choice.'
既然你已經做出決定,你會想確保自己在經銷商那裡拿到合理的價格。 由於你想買的是中古車,價格取決於車齡。 粗略估算的話,假設車齡不到 3 年,價格是全新時原價的 80%。 如果車齡超過 10 年,價格是 50%。 如果車齡至少 3 年但不超過 10 年,價格是原價的 70%。
實作calculateResellPrice(originalPrice, age)函式,使用if、else if和else套用這套邏輯(如果你想練習,還有其他做法)。
它接收原價和車齡作為引數,並回傳經銷商估算的價格。
calculateResellPrice(1000, 1);
// => 800
calculateResellPrice(1000, 5);
// => 700
calculateResellPrice(1000, 15);
// => 500