在抖音上看到的题,最近才学js,可以解答下为什么最后“3a”的console.log的输出是1呢,
跟a的有效范围有关,“{}”若出现funciton/let/const关键字,会创建一个块级上下文,相当于内部重新声明了a,所以外层的a不会改变,如果去掉内部的function a(){}; a就会改变 输出 1 a:0 2 a:5 3 a:5