簡體   English   中英

Javascript范圍問題-Chrome擴展

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM