JavaScript对象文字符号内部变量指向

JavaScript对象文字符号内部变量指向,javascript,scope,Javascript,Scope,我有一个变量数组。 我想要一个变量等于前一个。 例如: var myVars = { var1: "test", var2: var1 }; alert(myVars.var2); //输出:未定义var1 有什么想法吗?我确信这是某种可变范围限制。 我想听听别的。 提前感谢。如果不使用函数,就无法在表达式中引用相同的语法,我建议您使用等效语法: var myVars = {}; myVars.var1 = "test", myVars.var2 = myVars.var1

我有一个变量数组。 我想要一个变量等于前一个。 例如:

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

alert(myVars.var2);
//输出:未定义var1

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

如果不使用函数,就无法在表达式中引用相同的语法,我建议您使用等效语法:

var myVars = {};

myVars.var1 = "test",
myVars.var2 = myVars.var1;
也许?

或者:

var myVar = "test";

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

绑定到函数上下文,与
myVars
instancePerfect感谢无关。事实上,我采用了这种方法。我只是希望我的上述方法能奏效。我想不会吧!由于名称空间的原因,我试图将所有变量保存在单个对象中。这在我的情况下不起作用。在这种情况下,您需要将所有必需的变量包装到一个对象中,就像CMS建议的那样。请注意,您还可以将数组声明为object:var myVars=new object();myVars.var1=“测试”;myVars.var2=myVars.var1;什么阵列?这里没有使用数组。
var myVar = "test";

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