[英]Javascript scope question - chrome extension
for(var p = 0; p < xmls.length; p++) {
var feed = new google.feeds.Feed(xmls[p]);
feed.load(function(result) {
//code
在上面的代碼中,如果我在feed.load函數之外輸出p,則我正確地看到p在迭代。 但是,如果我在該函數(需要訪問它的位置)內輸出p,它將保持為2(恰好是數組“ xmls”的長度)。 我知道這是一個范圍問題,但不是解決方法。
提前致謝!
您需要創建一個新的作用域,這意味着一個新的功能。
for(var p = 0; p < xmls.length; p++) {
(function(p) {
var feed = new google.feeds.Feed(xmls[p]);
feed.load(function(result) {
// use p
});
})(p);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.