如果数字相等甚至弹出警报

时间:2018-06-01 20:43:13

标签: javascript

我的JavaScript问题很少。我不知道为什么它不起作用。我在网上搜索过但没找到任何东西。

如果两个数字都等于弹出数字(如果它们相等),我需要弹出一个警报,如果没有,则需要弹出一个警告,带有消息的警报(请插入数字)。但我无法使其发挥作用。

function even(){
    var n = parseInt(document.getElementById("n").value);
    var m = parseInt(document.getElementById("m").value);
    var s = 0 ;
    var i;

    if (n < m) {
        i = n;
        while (i <= m){
            if(i % 2 === 0) 
                s += i;
            i++;
        }
        alert(s);
    }
    else if (n > m) {
        i = m;
        while (i <= n) {
            if (i % 2 === 0) 
                s += i;
            i++;
        }
        alert(s);
    }
    else if (n = m) {
        i = m;
        i = n;
        while(i % 2 == 0) 
            s == i;
    }
     alert(s);
    }
}
<input type="text" id="n" > </br><br>
<input type="text" id="m" > </br><br>
<button type="button" onclick="even()">Sum Even Numbers</button>

2 个答案:

答案 0 :(得分:0)

function even(){
var n = parseInt(document.getElementById("n").value);
var m = parseInt(document.getElementById("m").value);

  if(n % 2 == 0 && m % 2 == 0){
    alert(n + m);
  }
}

这样更简单,只有在n&amp; m是偶数。感谢n % 2 == 0m % 2 == 0将数字除以并检查余数是否等于0.

修改

但是再次阅读你的问题,我不确定你想要达到的目的。你可能想要更精确。

答案 1 :(得分:0)

根据您上面的代码,我假设目标是将nm之间的偶数相加。像这样的东西?也许,

function even() {

    var n = parseInt(document.getElementById("n").value);
    var m = parseInt(document.getElementById("m").value);
    var s = 0;

    var start = Math.min(n, m);
    var end = Math.max(n, m);
    for (var i = start; i <= end; ++i) {
        if (i % 2 === 0) { 
            s += i;
        }
    }

    alert(s);

}

jsFiddle

备注

  • while(i%2 == 0) s == i;应该是while(i % 2 == 0) { s = i; }
  • }else if(n=m) {应该是} else if (n === m) {
  • 我使用了Math.min()Math.max(),因为看起来if语句的前两部分做了同样的事情,但交换了nm