JS“如果& else”没有正确回应

时间:2017-06-01 13:30:10

标签: javascript variables if-statement var

我正在尝试根据变量“d”创建一个显示各种句子的网站。 计划是如果“d”正好为0,则将显示第一行,并且d的值将显示在带有“text”类的段落中。

This is the code

    <!doctype HTML>
<html>

<head>
  <link href="main.css" rel="stylesheet" />
  <meta charset="utf-8">
  <link href="https://fonts.googleapis.com/css?family=Ubuntu" rel="stylesheet">
</head>

<body class="Ubuntu">
<nav>
  <div>
    <h1>Beregn antal diskriminanter</h1>
  </div>
</nav>

<div align="center" class="main_container">
  <table>
    <form method="POST" name="diskriminant" action="diskriminant.html">
  <tr>
    <td>
      <p> Indtast a </p>
    </td>
    <td>
      <input type="number" name="numA" size="6" class="input-form"/></p>
    </td>
  </tr>

  <tr>
    <td>
      <p> Indtast b </p>
    </td>
    <td>
      <input type="number" name="numB" size="6" class="input-form"/></p>
    </td>
  </tr>
  <tr>
    <td>
      <p> Indtast c </p>
    </td>
    <td>
        <input type="number" name="numC" size="6" class="input-form"/></p>
    </td>
  </tr>
  <tr>
    <td colspan="2" align="center">
            <p><input type="button"  name="knap" value="Beregn" onkeydown="enter()" onclick="beregner()"class="button Ubuntu"/></p>
    </td>
  </tr>
  <tr>
    <td colspan="2" align="center">
            <p id="text" class="align"></p> <br> <p id="result" class="align"></p>
    </td>
  </tr>
    </form>
  </table>
</div>
<footer>
</footer>
<script>
    function beregner() {
        var a;
        var b;
        var c;
        var d;
        var res;

        a=document.diskriminant.numA.value;
        b=document.diskriminant.numB.value;
        c=document.diskriminant.numC.value;

        d=Math.pow(( +b),2)-4*a*c;


        if (d = 0) {
          res = "Der er ingen nulpunkter";
        }
        else if (d < 0) {
            res ="Der er et nulpunkt";
          }
        else {
            res ="Der er to nulpunkter";
          }


          document.getElementById('text').innerHTML=+d;
          document.getElementById('result').innerHTML=res;


    }
</script>

</body>
</html>

4 个答案:

答案 0 :(得分:1)

d = 0d == 0不一样。这是你的问题,你在这里为变量赋值。
变量赋值始终返回true。

答案 1 :(得分:1)

d = 0正在分配一个变量。试试if (d === 0)

答案 2 :(得分:1)

为了安全起见,请始终使用“===”运算符,因为它会检查类型和值。这样你就会真正知道两件事是否相等。

答案 3 :(得分:0)

使用JavaScript中的==运算符评估比较。只需更改if-statement

即可
if (d == 0) {
    res = "Der er ingen nulpunkter";
}