javascript - 在javascript中,如果对象A有一个属性是另一个对象B,我怎样才能在B中获取A

标签 javascript

var A = {
    cc: 'opps',
    B: {
        dd: 'dd',
        getC: function () {
            return this.cc
        }
    }
}

我怎样才能抄送?在方法 getC 或 function () {return this.cc}.bind(this) 或其他方式中返回 A.cc?

最佳答案

如果它确实是这样的一次性对象,只需使用A.cc:

var A = {
    cc: 'opps',
    B: {
        dd: 'dd',
        getC: function () {
            return A.cc;
        }
    }
};

如果您有一个构造函数或生成器来生成这些内容,那么您必须在构造函数中执行某些操作。如果没有示例,很难帮助您解决此问题,但例如:

// Constructor, used via new, e.g.: new Thingy()
function Thingy() {
    var t = this;
    t.cc = 'opps';
    t.B = {
        dd: 'dd',
        getC: function () {
            return t.cc;
        }
    };
}

// Builder, used without new, e.g.: createThingy()
function createThingy() {
    var A = {
        cc: 'opps',
        B: {
            dd: 'dd',
            getC: function () {
                return A.cc;
            }
        }
    };
    return A;
}

关于javascript - 在javascript中,如果对象A有一个属性是另一个对象B,我怎样才能在B中获取A,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30056808/

相关文章:

javascript - AngularJs ui-router ui-sref 未使用参数从嵌套状态生成 href

javascript - 是否可以使用 chrome 扩展与非事件选项卡中的内容元素进行交互?

javascript - 选择2 : How to add extra information for selected item?

javascript - 如何将 _.SortBy() 与对象数组一起使用?

javascript - 在一个html模板中使用(单击)事件来控制单独模板中的[隐藏]元素 Angular 2

javascript - 读取单选按钮列表的值

javascript - 测试中的 NestJS 全局模块

javascript - 如何在Azure移动服务的javascript后端获取系统属性__CreatedAt、__Version?

javascript - 如何验证此开源工具中的代码不会滥用您的 Google 帐户凭据?

javascript - 在 uiwebview 中使用 javascript 将样式应用于文本范围