簡體   English   中英

JavaScript中的Else if和Else

[英]Else if and Else in JavaScript

我寫了一個小的javascript代碼,但是有一個問題,該頁面無法顯示任何內容。 我認為問題出在“ else if ...”或“ else ...”行中,因為如果我注釋這兩行,則代碼可以正常運行

<html>
<head>
    <script language="javascript">
        var var1 = window.prompt("please input");
        var var2 = window.prompt("please input2");
        var1 = parseFloat(var1);
        var2 = parseFloat(var2);

        if (var1< var2) {document.writeln("the second number is bigger")};
        else if (var1> var2) {document.writeln("the first number is bigger")};
        else {document.writeln("They are the same")};
    </script>
</head>
<body>
</body>
</html>

您的JavaScript應該是這樣的

 var var1 = window.prompt("please input"); var var2 = window.prompt("please input2"); var1 = parseFloat(var1); var2 = parseFloat(var2); if (var1 < var2) { document.writeln("the second number is bigger"); } else if (var1 > var2) { document.writeln("the first number is bigger"); } else { document.writeln("They are the same"); } 

應該:

<html>
<head>
    <script language="javascript">
        var var1 = window.prompt("please input");
        var var2 = window.prompt("please input2");
        var1 = parseFloat(var1);
        var2 = parseFloat(var2);

        if (var1 < var2) {
            document.writeln("the second number is bigger");
        }
        else if (var1 > var2) {
            document.writeln("the first number is bigger");
        }
        else {
            document.writeln("They are the same");
        }
    </script>
</head>
<body>
</body>
</html>

你的半冒號錯了

嘗試刪除分號; ,從if statements的括號后面開始:

    if (var1< var2) {document.writeln("the second number is bigger")}
    else if (var1> var2) {document.writeln("the first number is bigger")}
    else {document.writeln("They are the same")}

看看這個SO答案: https : //stackoverflow.com/a/17036218/4206206

Essestially,分號不使用結束一組語句,而是結束一個語句。


代碼要點,如果您使用的是HTML5,則不需要在腳本標簽中使用language="javascript"

<script language="javascript">

可以變得簡單

<script>
if (var1< var2) {document.writeln(" ... ")};
                                           ^

您在if,else if和else塊末尾的semicolons是您的問題。 他們過早地結束了if塊。

只需在比較之前確保您parseFloat ,因為它只是作為字符串進行比較,並且請記住,10在2之前,所以按字符串10 < 2 而且您不需要; 在末尾:

var var1 = window.prompt("please input");
var var2 = window.prompt("please input2");
var1 = parseFloat(var1);
var2 = parseFloat(var2);

if (var1 < var2) {
  document.writeln("the second number is bigger");
} else if (var1 > var2) {
  document.writeln("the first number is bigger");
} else {
  document.writeln("They are the same");
}

暫無
暫無

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

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