var a; console.log('1 a: ' + a); if (true) { a = 1; function a() { }; a = 5; console.log('2 a: ' + a); } console.log('3 a: ' + a);
La salida es:
1 a: undefined 2 a: 5 3 a: 1
No puedo entender la última salida "3 a: 1". ¿Por qué no "3 a: 5"?