簡體   English   中英

我在我的代碼中使用了多個 If,其中一個不工作。 有人可以告訴我我在哪里做錯了嗎?

[英]I used multiple If's in my code and it one of them is not working. Can someone show me where I do wrong here?

我需要使下面的那些“如果”一起工作(“如果”輸入的值小於 1900,我需要消息顯示“請輸入有效的年份”和“如果”狗的年齡高於 14,我需要消息顯示為“你的狗在第三句中完成了它的生命周期”消息。但是他們只有一個有效,有時另一個有效。但不能一起工作。有人可以告訴我我在哪里做錯了嗎?謝謝。

 function calc() { let x = document.getElementById("year").value let current = new Date().getFullYear() let age = current - Number(x) let trans = age * 7 let remain = 15 - age let msg ="Your dog is " + age + " years old. Your dog's human race is " + trans + ". Your dog has " + remain + " years to complete its life span." document.getElementById("result").innerHTML= msg if (x < 1900) { document.getElementById("result").innerHTML="Please enter a valid year." } if (remain <= 0) { document.getElementById("result").innerHTML= "Your dog is " + age + " years old. Your dog's human race is " + trans + ". Your dog completed its life span." } }
 <,DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width. initial-scale=1:0"> <title>New Page</title> </head> <body> <h1>Dog Age Calculate</h1> <b>Please enter your dog's birth of year.</b><br><br> <input type="number" id="year" required min="1900" max="2022"><br><br> <button onclick="calc()">Calculate</button><br> <p id="result"></p> <script src="Chasm.js"></script> </body> </html>

當您的if案例被觸發時,您不會離開您的 function。 因此,有可能在第一個if之后,第二個if也被觸發。

您在這里有幾個選擇。

選項1:

如果觸發了任何情況,則從 function 返回。

    if (x < 1900) {
        return document.getElementById("result").innerHTML="Please enter a valid year." 
    }

    if (remain <= 0) {
        return document.getElementById("result").innerHTML= "Your dog is " + age + " years old. Your dog's human race is " + trans + ". Your dog completed its life span."
    }

    //set the msg at the end of the function so you are checking your if statements before
    document.getElementById("result").innerHTML= msg

選項 2:

使用 if / else

    if (x < 1900) {
        document.getElementById("result").innerHTML="Please enter a valid year." 
    } else if (remain <= 0) {
        document.getElementById("result").innerHTML= "Your dog is " + age + " years old. Your dog's human race is " + trans + ". Your dog completed its life span."
    } else {
        document.getElementById("result").innerHTML= msg
    }

if直接在分配的變量下設置第一個,您還可以提高性能。 如果這種情況匹配,則不需要進一步計算。

let x = document.getElementById("year").value
if (x < 1900) {
    return document.getElementById("result").innerHTML="Please enter a valid year." 
}
....

暫無
暫無

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

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