JavaScript提示命令不起作用

时间:2018-06-23 04:58:54

标签: javascript

我一直在尝试制作一个JavaScript程序,以确定给定的年份是否为year年。问题是提示不是。如果我删除if-else语句,那么它可以正常工作。

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>Untitled Document</title>
</head>
<body>
  <button type="button" onClick="myfunc()"></button>
  <script>
    function myfunc() {
      var a = prompt("Enter the year?");
      if (a % 4 == 0) {
        if (a % 100 == 0) {
          if (a % 400 == 0) {
            window.alert("it is a leap year");
          }
          else:
            window.alert("it is not a leap year");
        }
        else:
          window.alert("it is a leap year");
      }
    }
  </script>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

如果您只需要合上适当的花括号,则说明您做得不好。 只需将脚本替换为此。您需要学习javascript,否则here

    <script>
   function leapYear(year)
    {
       return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
    }
   function myfunc()
   {
     var a = prompt("Enter the year?");
     if(leapYear(a))
     {
      alert("Its a leap year");
     }
    else{
           alert("Not a leap year");
        }
    }
    </script>

答案 1 :(得分:0)

您的主要问题是语法错误-如果您在浏览器开发人员工具控制台中查看,则应该看到错误消息

SyntaxError: expected expression, got ':'

那是firefox所说的,但其他浏览器可能会发出不同的消息,但该消息应指向出现问题的行

修正后的另一个问题是,您的代码将仅对4整年的任何年份发出警报-如果不能将其整整为4,则根本不会发生警报

整理代码,您会明白为什么

function myfunc() {
    var a = prompt("Enter the year?");

    if (a % 4 == 0) {
        if (a % 100 == 0) {
            if (a % 400 == 0) {
                window.alert("it is a leap year");
            } else {
                window.alert("it is not a leap year");
            }
        } else {
            window.alert("it is a leap year");
        }
    } // you would need an else here for a % 4 !== 0
}

因此,您的代码将最终结束

function myfunc() {
    var a = prompt("Enter the year?");

    if (a % 4 == 0) {
        if (a % 100 == 0) {
            if (a % 400 == 0) {
                window.alert("it is a leap year");
            } else {
                window.alert("it is not a leap year");
            }
        } else {
            window.alert("it is a leap year");
        }
    } else {
        window.alert("it is a leap year");
    }
}

一切都很好,但是您只有四个警报,而实际上您只需要两个

因此,根据输入的值是否为a年,创建另一个将为true或false的变量

function myfunc() {
    var a = prompt("Enter the year?");
    var isLeap = (a % 4 === 0) && ((a % 100 !== 0) || (a % 400 === 0));
    if (isLeap) {
        window.alert("it is a leap year");
    } else {
        window.alert("it is not a leap year");
    }
}

答案 2 :(得分:0)

提示y <- as.vector(matrix(...)) 似乎可以与 HTML 集成与 JS 一起使用。

查看此enter image description here了解更多

示例:

{syntax: result = window.prompt(message, default); }