为什么我的全局数组值不能在for循环中使用 提供:
testing = [];
for (var x=0; x<10; x++){
console.log(testing);
}
&#34;测试&#34;变量动态填充数组
这是 console.log(测试)的样子; * w / o for循环 http://i.stack.imgur.com/xKhqA.png
这是填充数组的函数
function showMyVideos(data)
{
var feed = data.feed;
var entries = feed.entry || [];
for (var i = 0; i < entries.length; i++)
{
var entry = entries[i];
var vid = (getVideoId(entry.link[0].href));
testing[i] = vid;
}
console.log(testing)
}
这就是我在这个函数中使用console.log的样子
的http // * goo.gl/nVfQn
*用(冒号)替换(星号)以查看链接
为什么会这样,它只在函数范围内工作,而我在全局声明它
答案 0 :(得分:1)
这不是错误。这会在你的控制台中显示一个空数组,这正是你的testing
被声明为的数组。
您可能没有获得任何条目,并且它正在初始化为空字符串。
var entries = feed.entry || [];
然后当您尝试循环entries.length == 0
尝试在循环之前执行console.log(entries.length);
。
试试这个:
testing = ["foo"];
for (var x=0; x<10; x++){
console.log(testing);
}
您应该在控制台中看到类似的内容:
>["foo"]
>["foo"]
>["foo"]
...and so on