JavaScript的作用域和作用域链应该了解到什么程度?

61 阅读1分钟

看个例子

if(true) {
    var name = 'zhangsan';
}
console.log(name);

从上面的例子可以体会到作用域的概念,作用域就是一个独立的地盘,让变量不会外泄、暴露出去。上面的name就被暴露出去了,因此,JS 没有块级作用域,只有全局作用域和函数作用域。

作用域逐级查找

image.png

  • 对应下面这张图

image.png