在某个JavaScript前端群里面,网友深圳-resolve发的一道关于JavaScript作用域与函数提升的思考题引发了众位大佬的讨论。

题目

console.log(a)if (true) { a = 2 function a () {} a = 3 console.log('内部', a)}console.log('外部', a)

执行结果:

image.png

打印a在所有位置的值:

image.png