2013-01-31 37 views
-1

它爲什麼我的全局數組值不能內用於循環 提供:全局數組值不能內部訪問的for循環

testing = []; 


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

的「測試」變量動態填充陣列


這就是它的樣子 console.log(testing); * 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

*用(冒號)替換(星號)以查看鏈接

爲什麼它,它只有功能範圍之內,而我有這個宣稱它在全球範圍

+3

您需要發佈,它將在數組中值的代碼。 – Pointy

+1

什麼?如果你有一個空的數組,它不會自己填充。不知道你在期待什麼。 –

+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 
+0

與號碼是指對我的截圖是什麼? –

+0

@MarkBean小圓圈的數字表示該消息已被連續記錄多次 – Pointy

+0

@MarkBean看到我的更新 – Ray