Al intentar ejecutar el siguiente fragmento, esperaba que la doFoo.call(obj, obj.foo) devolviera "inside obj" ya que el alcance dinámico del elemento anterior en la pila de llamadas tiene una referencia a pero la llamada tiene el contexto global en su lugar. ¿Que me estoy perdiendo aqui?
function foo() { // debugger console.log(this, this.a); } function doFoo(fn) { // `fn` is just another reference to `foo` // debugger fn() // <-- call-site! } var obj = { a: 'inside obj', foo: foo }; var a = "oops, global"; // `a` also property on global object doFoo(obj.foo); // "oops, global" doFoo.call(obj, obj.foo) // "oops, global"```