列出偶数1到10,每个乘以2

时间:2016-03-07 16:47:02

标签: javascript

这可能是一个愚蠢的问题;但是,我的代码没有运行。我试图列出偶数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>

4 个答案:

答案 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语句:

&#13;
&#13;
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;
&#13;
&#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