Else if and Else in JavaScript

Else if and Else in JavaScript

本文关键字:Else JavaScript in and if      更新时间:2023-09-26

我写了一个小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");
}

尝试从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

本质上,分号不用于结束一组语句,而是用于结束单个语句。


代码的一点是,如果你使用HTML5,你的脚本标签中不需要language="javascript"

<script language="javascript">

可以变得简单

<script>

应该是:

<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 (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");
}