无法在 for 循环中访问全局数组值

global array values can't be accessed inside for loop

本文关键字:访问 全局 数组 循环 for      更新时间:2023-09-26

为什么我的全局数组值不能在 for 循环中使用提供:

testing = [];

for (var x=0; x<10; x++){
    console.log(testing); 
}

"测试"变量用数组动态填充

  • 对于上面的循环代码,它将有一个这样的错误,https://i.stack.imgur.com/NBjH2.png

这就是控制台.log(测试)的样子; *w/o for loop https://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)
    }

如果我控制台,这就是它的样子.log在这个函数中

http*//goo.gl/nVfQn

*将(星号)替换为(冒号)以查看链接

为什么会这样,它只在函数范围内工作,而我已全局声明它

这不是

错误。 这会在控制台中显示一个空数组,这正是您的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