簡體   English   中英

運行多個 else if 語句

[英]Run multiple else if statements

當我運行此代碼時,只有 INVALID(超過 100)和 High Distinction 有效。 任何低於 80 的數字也顯示高區分度。 我做錯了什么?

function calculateGrade() {
    var fvalue = Number(prompt('Please enter final score for unit. Enter a whole    number only'));

    document.write('The final score entered is ' + fvalue + '<br />');

    if (fvalue > 100) {
        document.write('INVALID');
    } else if (80 <= fvalue <= 100) {
        document.write('High Distinction');
    } else if (70 <= fvalue <= 79) {
        document.write('Distinction');
    } else if (60 <= fvalue <= 69) {
        document.write('Credit');
    } else if (50 <= fvalue <= 59) {
        document.write('Pass');
    } else if (0 <= fvalue <= 49) {
        document.write('Fail');
    } else if (fvalue < 0) {
        document.write('INVALID');
    }

}

calculateGrade()

您的比較語法無效。 您需要一次檢查一個邊界:

if (80 <= fvalue && fvalue <= 100) {

其他人也一樣。

更進一步,您只需要檢查一個邊界,因為else排除了較高的一端:

if (fvalue > 100) {
    document.write('INVALID');
} else if (80 <= fvalue) {
    document.write('High Distinction');
} else if (70 <= fvalue) {
// ...

這不是爪哇。 但是你肯定可以試試這個。

else if ( (fvalue >= 80) && (fvalue<= 100)) { document.write('High Distinction');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM