// i = inner, o = outer, f=function, a=attribute
var singleton = function() {
var iF = function() {
return this.oA; // returns undefined
}
return {
oF: function() {
this.oA = true;
return iF();
},
oA: false
};
}();
singleton.oF();
If singleton were a class
(as in a class-based language), shouldn't I be able to access oA
through this.oA
?
The only way I've found of accessing oA
from iF
is by doing:
return singleton.oA; // returns true (as it should)
I don't know why, but accessing oA
through the singleton
base object makes me feel kind of... dirty. What am I missing? What is this.oA
actually referring to (in a scope sense of view)?