// JavaScript source code
var foo = (function () {
var o = { bar: "bar" };
return {
bar: function () {
console.log(o.bar);
}
};
})();
foo.bar();
What is going on? Is foo an object? Is it a named function? This looks like a hideous way to provide the class concept of private data members....