1

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

大家好,

我有一个关于 JavaScript 对象的小问题。我在 JavaScript 中有以下对象:

var CONFIG = {
    MAIN_URL: 'http://www.test.us',
    MAIN_COLOR: '#fff'
}

现在我想声明一个带有另一个对象前缀的对象:

var CONFIG = {
    MAIN_URL: 'http://www.test.us',
    LOGIN_URL: MAIN_URL+'/login', // <- this one!
    MAIN_COLOR: '#fff'
}

我怎么做?我试过 this.MAIN_URL, CONFIG[MAIN_URL], CONFIG.MAIN_URL - 但没有任何效果?!?!

谢谢,萨沙

4

2 回答 2

6

您不能在对象初始化程序中这样做。相反,请执行以下操作:

var CONFIG = {};
CONFIG.MAIN_URL = 'http://www.test.us';
CONFIG.LOGIN_URL = CONFIG.MAIN_URL+'/login'; // <- this one!
CONFIG.MAIN_COLOR = '#fff';
于 2012-05-26T11:53:59.043 回答
4
var CONFIG = new function() {
    this.MAIN_URL = 'http://www.test.us',
    this.LOGIN_URL = this.MAIN_URL+'/login', // <- this one!
    this.MAIN_COLOR = '#fff'
};
于 2012-05-26T11:53:25.283 回答