作者的意思是这些foo函数将在全局级别提升,因为条件语句无法在JS中创建自己的作用域。所以预期的行为就是我会打印出来。
但结果是错误: “未捕获的TypeError:foo不是一个函数 at:1:1“
但是,如果我这样做:
var a = true;
if (a) {
function foo() { console.log( "a" ); }
}
else {
function foo() { console.log( "b" ); }
}
然后调用函数我会得到结果“a”?