动态作用域

词法作用域是一组关于引擎如何查询变量的规则。词法作用域在代码编写时被定义的。

动态作用域是在运行时被确定的。动态作用域只关心函数是在何处被调用的。它的作用域是基于调用栈的,而非代码作用域中的嵌套。

function foo() {
console.log(a);
}
function bar() {
var a = 3;
foo();
}
var a = 2;
bar();

在词法作用域情况下,bar调用输出2

在动态作用域情况下,bar调用输出3

动态作用域和this有些相似。

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.