I have an array of variables. And I want one variable to equal the previous one. For example:
var myVars = {
var1: "test",
var2: var1
};
alert(myVars.var2);
//output: var1 is not defined
Any thoughts? I'm sure this is some sort of variable scope limitation. I would like to hear otherwise. Thanks in advance.
You cannot refer to the same object literal in an expression without using a function, I would recommend you to use the equivalent syntax:
var myVars = {};
myVars.var1 = "test",
myVars.var2 = myVars.var1;
Or:
var myVar = "test";
var myArr = {
var1: myVar,
var2: myVar
}
var myVars = {
var1: "test",
var2: this.var1
};
perhaps?
精彩评论