javascript - 如何从嵌套对象文字访问外部成员?

标签 javascript scope nested object-literal

在下面的代码中,是否可以从嵌套对象字面量访问 x 成员?

var outer = {
    x : 0,
    inner: {
        a : x + 1,       // 'x' is undefined.
        b : outer.x + 1, // 'outer' is undefined.
        c : this.x + 1   // This doesn't produce an error, 
    }                    // but outer.inner.c is NaN.
}

最佳答案

按照您的说法 - 不。

你需要两个阶段的 build ,这会起作用:

var outer = { x : 0 };
// outer is constructed at this point.
outer.inner = {
        b : outer.x + 1 // 'outer' is defined here.
};

关于javascript - 如何从嵌套对象文字访问外部成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5286705/

相关文章:

javascript - 获取所有具有属性 x 的元素

php - Laravel - 如何知道关系表中是否存在该属性

c++ - 关于我的变量范围需要一些解释

javascript - react - 删除仅测试 Prop

javascript - jQuery ajax 无法访问远程服务器失败

javascript - JQueryUI 在选项中添加图像

c++ - OutofScope setter/getter C++?

c++ - 你能在 C++ 中保护嵌套类吗?

php - 在 PHP 中打印没有嵌套循环的模式

ruby-on-rails - Rails 没有路由错误,而 rake routes 给出了路由