【问题标题】:some JavaScript variables missing in scope范围内缺少一些 JavaScript 变量
【发布时间】:2014-07-26 17:25:05
【问题描述】:

我遇到的问题是我试图访问我认为应该在范围内但它们不在范围内的变量。我正在使用 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
                    });
                });
            };

【问题讨论】:

  • 如何访问概览?

标签: javascript scope closures


【解决方案1】:

问题出在 Chrome 上。开发人员控制台在单步执行该功能时无法访问该对象。但是,当我编写代码并再次单步执行时,对象就在范围内。

很好。很高兴知道 Chrome 可以这样欺骗您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 2020-02-07
    • 2012-12-23
    • 2011-05-10
    相关资源
    最近更新 更多