So I'm writing a webpage that contains a few nested objects.
var Object = {
//first nested object
nested1:{
//nested object within nested1
moreNested1:{
//some values
a:1,
b:2
}
},
//second nested object
nested2:{
//nested object within nested2
moreNested2:{
//some values
x:1,
y:2
}
}
};
As you can see, there are nested objects within nested objects, and there are values stored in moreNested1
and moreNested2
.
My problem is trying to access a
and b
using a function that is located in moreNested2
. Using the "this" keyword, I've written a function that tries to access and analyse a
and b
.
var Object = {
//first nested object
nested1:{
//nested object within nested1
moreNested1:{
//some values
a:1,
b:2
}
},
//second nested object
nested2:{
//nested object within nested2
moreNested2:{
//some values
x:1,
y:2,
//the function that accesses a and b from moreNested1
foo:function() {
//code that does not work
var a = self.this.this.a;
var b = self.this.this.b;
//logs a and b
console.log("a is " + a + " and b is " + b)
}
}
}
};
What I am trying to do is access a
and b
, two values stored within moreNested1
, from a function in moreNested2
. I just need a pointer on how to access some values in a situation like this.
Thank you. If you could rewrite the code and explain how and why it works, that would be wonderful.