词法作用域意味着作用域是由书写代码时函数声明的位置决定的。
那么
var value = 1;
function foo() {
console.log(value);
}
function bar() {
var value = 2;
foo();
}
bar(); // 1
这种情况是 1
function foo() {
console.log(value);
}
function bar() {
var value = 2;
foo();
}
bar(); //undefined
var value = 1;
这种情况就输出为 undefined 啊
这个不是和函数调用位置无关么?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…