Jscript作用域——LexicalScoping

2020-07-02  本文已影响0人  张先觉

#作用域

作用域是指程序源代码中定义变量的区域。而且,作用域规定了如何查找变量,相当是确定当前执行代码对变量的访问权限。

须知,JavaScript 采用词法作用域(lexical scoping),俗称“静态作用域”。函数的作用域在函数定义的时候就决定了。与之相对,就是动态作用域——函数的作用域是在函数调用的时候才决定的。

var value = 1;

function foo() {
    console.log(value);
}

function bar() {
    var value = 2;
    foo();
}

bar();

// 结果是: 1
// 原因是:虽然foo()在bar()当中调用,由于JS采用静态作用域,foo()的作用域在函数定义的时候,已经确定在window作用域下。

上一篇 下一篇

猜你喜欢

热点阅读