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?
 
    