2014-06-05 2 views
1

문제는 내가 범위에 있어야한다고 생각하지만 변수가 아닌 변수에 액세스하려고한다는 것입니다. Underscore.js를 사용하여 배열을 반복하고 예제 코드에서 _.forEach 클로저 내에 값을 추가하면 overviewRow 배열에 액세스 할 수 있지만 overview 객체에는 액세스 할 수 없습니다. 왜 다른 사람이 아닌 반면, 하나는 범위에 있습니까?범위에 일부 JavaScript 변수가 누락되었습니다.

function(pointsReport, itemsReport, receiptsReport){ 
       app.stores.done(function(stores) { 
        var overview = { 
         columns: [ 
          "sales", 
          "items sold", 
          "coupons redeemed", 
          "points redeemed", 
          "cost for points" 
         ], 
         rows: [] 
        }; 

        var overviewRow = [ 
         0, 
         0, 
         0, 
         0, 
         0 
        ]; 

        _.forEach(itemsReport, function (item) { 
         overviewRow[0] += item.quantity * item.unitPrice; 
         overviewRow[1] += item.quantity; 
         //overview not in scope 
        }); 
       }); 
      }; 
+0

어떻게 개요에 액세스합니까? – jurassix

답변

1

Chrome에서 문제가 발생했습니다. 개발자 콘솔은 함수를 단계별로 실행할 때 객체에 액세스 할 수 없습니다. 그러나 코드를 작성하고 다시 단계를 거치면 객체가 범위 내에 있습니다.

웰프. Chrome이 당신을 그렇게 속일 수 있다는 것을 아는 것이 좋습니다.

관련 문제