JS作用域就是某个变量或函数有作用的范围,或者说在这个范围内,这个函数或变量是可访问的。 ES5中,作用域分为全局作用域函数作用域,ES6新增了块级作用域,在一对 {} 中,通过let和const申明的变量具有块级作用域
在这里插入图片描述
JS作用域链:变量在被定义时,内部会有一个 [[scope]] 特性被创建,这是JS的内部特性,无法从外部直接访问,这个特性就是一个对象,里面链式存储着包含该变量的所有作用域中的变量组成的对象。
例如:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述