JavaScript Object Literal Notation Internal Variable Pointing [duplicate]

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.

Answers:

Answer

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;
Answer

Or:

var myVar = "test";

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

perhaps?

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.