1 作用域分类
(1)block-level scope 块作用域:{...}为一个块,其里面声明的变量不能被外部调用。
(2)function-level scope 函数作用域:一个function内声明的变量不能被外部调用。
(3)动态作用域:Js没有动态作用域。
(4)静态作用域(词法作用域/闭包):Js是词法作用域
在预处理阶段就已经形成了这个域。
2 作用域链
子函数的scope会指向父函数的le。
当一个函数被调用,其就会创建一个词法环境,此LE会指向它的scope ,scope会指向父亲函数的LE,再去父函数中寻找。直到window或者找到
也就是函数操作变量 先在自己的词法环境找,找不到就往上找
3 调用函数内部变量/函数
通过在内部添加window.obj=func/varia