什么叫词法作用域
简单来说就是编译时候确定的函数作用域
例子
var value = 1;
function bar() {
var value = 2;
function foo() {
console.log(value);
}
foo();
}
bar(); //2
上述代码答案是2 因为bar和foo是嵌套的,所以在编译阶段他们的词法作用域已经是嵌套的了
var value = 1;
function foo() {
console.log(value);
}
function bar() {
var value = 2;
foo();
}
bar(); // 1
上述代码是1,因为foo和bar是同一等级,在编译的时候就确定了两者的词法作用域是平等的,不是嵌套的关系。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。