JS 是基于词法作用域的语言,因此有全局作用域和函数作用域。作用域可以理解为代码执行的环境。代码执行时会查找变量,首先在自身函数作用域中查找,找不到就逐层向上级作用域查找,直到全局环境,这样形成的链表叫做作用域链。