【发布时间】:2012-09-21 12:09:07
【问题描述】:
有没有办法在同一个对象字面量中访问属性名的值?像这样的:
myFunction.init({
varOne: 'something',
varTwo: this.varOne + 'something else'
})
【问题讨论】:
-
当然可以。使用 getter 和 setter 或通过创建函数来固定对象的范围。不知道为什么选择其他答案
-
@OzLodriguez - 你为什么不发布对此的答案或指向 jsfiddle/codesandbox/etc 的链接?
-
@AdrianFlorescu,@BlueYoshi 在已接受答案的评论中发布了一个示例。但是,@OzLodriguez 这种方法有一个问题。当
varOne使用 getter 方法更改时,原始问题中的varTwo将始终更新。这与我所期望的问题中的行为不同(假设它甚至是可能的)。如果问题中的代码确实有效,我希望它用varOne初始化一次varTwo,如果将来更改varOne,则不会更改varTwo。
标签: javascript javascript-objects