函数可以嵌套函数,于是形成了作用域链
1、作用域分为全局作用域和局部作用域,function会产生局部作用域,在全局环境中无法访问局部变量,局部环境内可以访问全局变量。若是函数中嵌套函数,嵌套的函数中还有函数,那么,这样就会形成作用域链。最内部的函数中的变量,会现在自身函数内找是否定义了改变量,若没定义,则向上一级函数中寻找,若上一级函数也没有定义,则继续向上寻找变量,直到全局环境,若还是没有找到,则报错。
2、JS中每个函数或者变量都有其自它4身的作用域,作用域可以理解为他们的执行环境。
每次调用函数的时候都会对其生成一个作用域链,这个作用域链可用于在函数执行过程中查找执行涉及的变量和函数。
查找顺序为当前执行函数内部->外部函数->>全局执行环境