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 に答える