gpt4 book ai didi

javascript - OO Javascript子对象访问父属性

转载 作者:行者123 更新时间:2023-12-03 10:52:08 25 4
gpt4 key购买 nike

我正在构建一个应用程序,该应用程序在一个对象内有一个对象数组,而它的自身位于一个数组中。我希望能够从子对象访问父对象的属性。我知道我可以简单地通过索引引用父级,如下所示:

var parents = [new parent()];

var parent = function() {
this.index = 0;
var children = [new child(this.index)];
}

var child = function(parentId) {
this.parent = parents[parentId];
}

但是我想知道是否有更好/更多的面向对象的方法来做到这一点?

最佳答案

您将需要一些引用。对象不会自动知道其父对象。但我认为您可以保存父对象本身,而不是保存索引。父级是通过引用存储的,因此如果父级被修改,子级的父级引用会反射(reflect)这些更改。下面显示了代码稍作修改的版本:

function parent() {
this.index = 0;
// Make children a property (for this test case) and
// pass 'this' (the parent itself) to a child's constructor.
this.children = [new child(this)];
}

function child(parent) {
// Store the parent reference.
this.parent = parent;
}

// Do this after the functions are declared. ;)
var parents = [new parent()];

// Set a property of the parent.
parents[0].test = "Hello";

// Read back the property through the parent property of a child.
alert(parents[0].children[0].parent.test); // Shows "Hello"

关于javascript - OO Javascript子对象访问父属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28392449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com