javascript - 如何将javascript对象值传递给其 "child"对象

标签 javascript inheritance javascript-objects

我试图将变量传递给父对象的子对象,但它返回未定义。 (显然我不确定 JS 对象的作用域是如何工作的)。

var parent = {
    pid: '565',
    child: {
       cid: this.pid + '_child_789',
       sayHello: function(){
          alert('My id is ' + this.cid);
       }
    }
}

调用 parent.child.sayHello()this.cid 记录为未定义。

我(错误地)认为子进程会继承 pid 属性,并且可以由 this.pid 引用,但事实并非如此。

有没有办法在不硬编码 pid 值的情况下做到这一点?

我知道我可以在创建对象后执行parent.child.cid =parent.pid + '_child_789',但这对我来说不可扩展或不实用。

最佳答案

您无法访问对象文字中的属性。我想更详细地讨论,但是,这个问题已经被回答过好几次了。请检查以下问题:

JavaScript: Access own Object Property inside Array Literal

Can a JavaScript object property refer to another property of the same object?

关于javascript - 如何将javascript对象值传递给其 "child"对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23258380/

相关文章:

javascript - 如何将路径数组转换为JSON结构?

Javascript - 按键/值顺序排列到 JSON

python 类的子类或实例

javascript - 隐藏内容被代理阻止的 iframe

c++ - 从派生类方法设置基对象

javascript - 对 JavaScript 原型(prototype)继承与构造函数感到困惑

javascript - 在文字对象上使用 Object.create 的奇怪行为和多个实例

javascript - 使用 JavaScript 对象的值创建 JavaScript 数组

javascript - 网页中插入的可视化数据未正确缩进且未出现在所需位置

javascript - 响应不可分配给类型 Promise<any> 属性最终丢失?