function a() {
console.log(1);
}
(function() {
if (false) {
function a() {
console.log(2);
}
}
console.log(typeof a);
a();
})()
因为立即执行函数里面有函数 a,a 会被提升到该函数作用域的最顶端,但是由于判断条件是 false,所以不会进入到条件语句里面, a 也就没有值。所以 typeof 打印出来是 undefined, 而后面在调用方法,肯定就会报错
原创文章,作者:czhdawn,如若转载,请注明出处:https://www.czhdawn.cn/archives/4996