我遇到的问题是我试图访问我认为应该在范围内的变量,但事实并非如此。我正在使用Underscore.js循环遍历数组并在示例代码中添加_.forEach
闭包内的值,我可以访问overviewRow
数组但不能访问overview
对象。为什么一个人在范围内,而另一个人不在?
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 :(得分:1)
问题在于Chrome。当单步执行该功能时,开发人员控制台无法访问该对象。但是,当我编写代码并再次执行时,对象就在范围内。
韦尔普。很高兴知道Chrome可以这样欺骗你。