Adamwu1992 / adamwu1992.github.io

My Blog
2 stars 0 forks source link

JavaScript作用域相关 #5

Open Adamwu1992 opened 6 years ago

Adamwu1992 commented 6 years ago

词法作用域(Lexical scoping)

作用域规定了执行代码时如果查找变量,也就是说确定了当前执行代码对变量的访问权限。

也可以叫做静态作用域,就是在变量声明的时候确定作用域。

var max = 10;
function foo() {
    console.log(max);
}

function bar() {
    var max = 100;
    foo();
}

bar();
// 输出10;

以上代码,foo里的max在定义时确定,当前作用域里找不到max变量,就到上一级作用域中找,结果找到了max为10,不管foo放在什么位置执行,它的作用域都不会再变化,这就是词法作用域