为什么无法用for循环给js数组赋值

 for (var m = 1;m<21; m++) {
    var href = "http://wufazhuce.com/one/vol."+m+"#articulo"; 
    var url = [];
    url.push(href);
  }
  console.log(url);

为什么这个的输出是

 ["http://wufazhuce.com/one/vol.20#articulo"]

没有1到19的链接

把var url = [];放到for循环外面;

你看看你的for循环对不对,每次赋值是不是把上次的值覆盖掉了 最后打印只是一个结果

你的输出console.log(url);是在for循环结束后才打印的,此时自然没有1-19的链接,把console.log(url);挪到你的for循环里最后一行就好了!

7楼正解,

每到下一次循环你又把url赋值为[ ],肯定只能得到最后一次循环的url值。
把var提到for循环之前,应该可以了。

声明放在for循环上面 就行了
http://www.lagou.com/jobs/1317781.html

var url = [];
for (var m = 1;m<21; m++) {
var href = "http://wufazhuce.com/one/vol."+m+"#articulo";

url.push(href);

}
console.log(url);

因为你最后的值覆盖前面的值了!!