我的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>
答案 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 == 0
和m % 2 == 0
将数字除以并检查余数是否等于0.
修改强>
但是再次阅读你的问题,我不确定你想要达到的目的。你可能想要更精确。
答案 1 :(得分:0)
根据您上面的代码,我假设目标是将n
和m
之间的偶数相加。像这样的东西?也许,
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);
}
备注强>
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语句的前两部分做了同样的事情,但交换了n
和m
。