【发布时间】:2015-06-03 17:15:23
【问题描述】:
所以我有一个大的父对象,它有多个需要使用父值和它们自己的值来计算它们的值的子对象。这是一个向您展示这个想法的简单示例:
function Parent(stuff, otherStuff){
this.pValue = 4;
this.child1 ={
childStuff: this.pValue*stuff.stuffValue,
childStuff2: childstuff*otherStuff.otherValue
}
}
这东西在另一部分代码中用适当的变量调用:
var thething = new Parent(stuff, otherStuff);
我需要访问 thething 的子变量,并且当 stuff 或 otherStuff 中的变量发生变化时,所有内容都需要重新计算。
那么在计算 childStuff2 时如何访问“childstuff”值?不幸的是,我必须从不同的地方处理所有这些值,其中一些是相互依赖的,所以整个事情有点混乱,因此试图以这种方式做事。
仍在学习,因此欢迎和赞赏任何和所有输入。不是以英语为母语的人,因此对任何错误感到抱歉。谢谢。
【问题讨论】:
-
您发布的代码会产生语法错误。你到底想做什么?
-
childstuff是label,它基本上是一种执行 GOTO 的方式。它既不是变量也不是属性,而且语句中间不能有标签,所以childStuff2:会抛出错误。 -
如果你想要一个简单的对象,那么摆脱你的函数并重写你的代码来使用对象。如果您想使用函数和原型来实现类类系统,请重新开始并将业务逻辑与数据结构分开(即设计您的类,然后使用其中的数据创建它们的实例)。
-
childStuff 在括号中以突出显示它。不是最好的主意,编辑代码。在另一个地方调用父级 var thing = new parent(stuff, otherStuff) 在父级中还有大约 15 个子对象,我需要在应用程序的另一部分中访问它们,父级是在其中启动的。此外,我的规格是一团糟,所以可能是我现在一切都在树林里。
-
@muhonne — 撇号不是括号,代码在到达它们之前抛出了一个错误(它仍然会抛出那个错误)。
标签: javascript oop object parent-child