Why the value of outcome is 'undefined' in the following example? Kindly explain someone how is this calculated?
<script>
var foo = {
bar: function() { return this.baz; },
baz: 1
};
var a = (function(){
return typeof arguments[0]();
})(foo.bar);
console.log(a);
</script>
Note: I've been through following link and it doesn't explain this example. There is no constructor function here ... How to access the correct `this` inside a callback?