JavaScript Object Literal表示法内部变量指向

时间:2009-12-11 17:16:24

标签: javascript scope

我有一系列变量。 我希望一个变量与前一个变量相等。 例如:

var myVars = {
    var1: "test",
    var2: var1
};

alert(myVars.var2);

//输出:未定义var1

有什么想法?我确信这是某种可变范围限制。 我不想听。 提前谢谢。

3 个答案:

答案 0 :(得分:7)

如果不使用函数,你不能在表达式中引用相同的object literal,我建议你使用等效的语法:

var myVars = {};

myVars.var1 = "test",
myVars.var2 = myVars.var1;

答案 1 :(得分:1)

或者:

var myVar = "test";

var myArr = {
    var1: myVar,
    var2: myVar
}

答案 2 :(得分:-1)

var myVars = {
    var1: "test",
    var2: this.var1
};

也许?