在了解词法作用域之前,我们先对作用域做一个简单的介绍
作用域:
从字面上可以理解就是,作用到的区域,例如,一个人生病吃药,这个药只会作用到人的局部器官或部位。
在程序语言中作用域的意义是:
程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
词法作用域:
词法作用域也就是在词法阶段定义的作用域。
换句话说,词法作用域就是你在写代码的时候就已经决定了变量的作用域。
js中其实只有词法作用域,并没有动态作用域,this的执行机制让作用域表现的像动态作用域,this的绑定是在代码执行的时候确定的。