在一次采访中,我被要求猜测以下片段的输出:
var foo = 1;
function bar() {
foo = 10;
return;
function foo() {
}
bar();
console.log(foo);
我认为输出将是 10,因为 bar 函数在重新分配 foo 的值后立即返回,但实际输出是 1。是因为函数定义具有相同的变量名 (foo) 吗?foo是否为内部变量创建了一个新范围bar?
皈依舞
MMTTMM
相关分类