在javascript中声明对象时,如何设置与另一个对象相关的属性
这就是我的代码()的基本结构: 基本上是这样 我的问题是,当我声明设置并希望它们相互关联时,我不能:在javascript中声明对象时,如何设置与另一个对象相关的属性,javascript,object,coding-style,modularity,Javascript,Object,Coding Style,Modularity,这就是我的代码()的基本结构: 基本上是这样 我的问题是,当我声明设置并希望它们相互关联时,我不能: settings: { numArticles: 5, scienceAricles: numArticles - 3 } 这显然也不起作用,因为对象仍然没有定义(这实际上没有意义,只是为了举例说明我的意思): 所以我现在唯一能想到的办法就是做这样的事情: var NewsWidget = {}; NewsWidget.s = {}; NewsWidget.s.numArti
settings: {
numArticles: 5,
scienceAricles: numArticles - 3
}
这显然也不起作用,因为对象仍然没有定义(这实际上没有意义,只是为了举例说明我的意思):
所以我现在唯一能想到的办法就是做这样的事情:
var NewsWidget = {};
NewsWidget.s = {};
NewsWidget.s.numArticles = 5;
NewsWidget.s.scienceArticles = NewsWidget.s.numArticles -3;
但我不太喜欢这种方法,我们的代码库已经基于前面提到的和链接的体系结构,所以这将是一个相当大的重新结构
我错过什么了吗?在不改变整个方法的情况下,这样做的最佳方法是什么?在对象文本中,无法引用同一文本中的其他值。您必须执行编写的操作,首先创建,然后修改。如果愿意,您可以在外部创建其他变量以使其更简单。在对象文本中无法引用同一文本中的其他值。您必须执行编写的操作,首先创建,然后修改。如果您愿意的话,可以在外部创建其他变量以使其更简单。嗯,有趣的是,我没有想到这一点。我会等待其他答案,但这正是我一直在寻找的答案。嗯,有趣的是,我没有想到这一点。我会等待其他答案,但这正是我一直在寻找的。
var numArticles = 5,
s,
NewsWidget = {
settings: {
numArticles: numArticles,
scienceAricles: numArticles - 3
},
init: function() {
// kick things off
s = this.settings;
}
};
var NewsWidget = {};
NewsWidget.s = {};
NewsWidget.s.numArticles = 5;
NewsWidget.s.scienceArticles = NewsWidget.s.numArticles -3;
var numArticles = 5,
s,
NewsWidget = {
settings: {
numArticles: numArticles,
scienceAricles: numArticles - 3
},
init: function() {
// kick things off
s = this.settings;
}
};