Estoy tratando de aprender los aspectos internos de JS. Actualmente estoy tratando de imprimir el mensaje "yo" en ambas ocasiones usando los dos registros de consola. Intenté usar call, bind o apply para ver si ayudaba, pero aún no funciona. En la pila de ejecución, coloca el contexto de ejecución func2 sobre el contexto de ejecución func1 . Entonces, esperaba que tomara el func2.
var a = 'hello'; function func1() { console.log(a); } function func2() { var a = 'yo'; func1(); console.log(a); } func2(); var a = 'hello'; function func2() { var a = 'yo'; function func1() { console.log(a); } func1(); console.log(a); } func2();¿Hay alguna manera de imprimir el mensaje interno sin declarar una función dentro como el segundo ejemplo sin pasar una variable a func1?
Creo que la razón por la que el primero no funciona es porque se refiere a la ventana pero se confunde un poco debido al contexto de ejecución colocado sobre la pila de ejecución.