在同一对象中访问JavaScript Object Literal值

Adr*_*scu 17 javascript javascript-objects

可能重复:
对象文字声明中的自引用

有没有办法在同一个对象文字中访问属性名称的值?像这样的东西:

myFunction.init({
    varOne: 'something',
    varTwo: this.varOne + 'something else'
})
Run Code Online (Sandbox Code Playgroud)

jfr*_*d00 20

不,无法从定义本身访问当前正在定义的对象文字.

如果要根据其他属性的值设置属性,则需要将它们都基于某个外部值(不是属性本身),或者在定义了可以设置某些属性的对象文字后运行初始化函数基于其他属性的值.

  • 有关更多示例,请参阅:http://stackoverflow.com/questions/4616202/self-references-in-object-literal-declarations?lq=1 (2认同)