这可能是一个愚蠢的问题;但是,我的代码没有运行。我试图列出偶数1到10,每个乘以2 。但我没有得到我想要的东西。请帮我解释一下我在代码中遗漏的内容。
var num;
var list = "";
for(num = 0; num<=10; num++){
num % 2 == 0;
num *=2;
list += num + "<br>";
document.getElementById("demo").innerHTML = list;
}
<p id="demo"></p>
答案 0 :(得分:0)
像这样应该可以正常工作:
<!doctype html>
<html>
<head>
</head>
<body>
<p id="demo"></p>
<script>
var num;
var list = "";
for(num = 0; num<=10; num++){
if(num % 2 == 0) list += (num * 2) + "<br>";
document.getElementById("demo").innerHTML = list;
}
</script>
</body>
</html>
答案 1 :(得分:0)
您正在覆盖循环中的num
变量
替换
num *=2;
list += num + "<br>";
使用
list += (num*2) + "<br>";
例如,如果您从num = 2
开始,则将其乘以2 num *=2
。因此,下次进入循环时,num
将为4.这意味着您跳过3!
答案 2 :(得分:0)
您正在修改循环变量,您需要使用不同的变量,并且需要添加if语句:
var num, i;
var list = "";
for(i = 0; i<=10; i++){
if (i % 2 == 0) {
num = i*2;
list += num + "<br>";
document.getElementById("demo").innerHTML = list;
}
}
&#13;
<p id="demo"></p>
&#13;
document.getElementById("demo").innerHTML
也可以在循环之外。
答案 3 :(得分:0)
无需模数;只需在循环中使用一个步骤:
for (var arr = [], i = 0, l = 10; i <= l; i+=2) {
arr.push(i * 2);
}
arr.join('<br/>'); // 0<br/>4<br/>8<br/>12<br/>16<br/>20