Blog

作用域

2018-03-28

词法作用域

JS 采用词法作用域,即作用域根据代码的位置确定。

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

function bar() {
  var s = 'in';
  foo();
}

var s = 'out';

bar(); // 'out'

上面的代码中,foo 函数的作用域内有 s = 'out',虽然在调用的地方有 s = 'in',但还是采用代码书写位置的作用域。

如采用动态作用域会输出 'in'

动态作用域

在代码运行时确定作用域。