1.JavaScript中的LHS和RHS查询
LHS 和 RHS 就是对变量的两种查找操作,查找的过程是由作用域(词法作用域)进行协助,在编译的第二步中执行。
在变量还没有声明(在任何作用域中都无法找到该变量)情况下,这两种查询行为是不一样的。
LHS 和 RHS 查询都会在当前执行作用域中开始,如果有需要(也就是说他们没有找到所需的标识符),就会向上级作用域继续查找目标标识符,这样每次上升一次作用域,最后抵达全局作用域,无论找到或没找到都将停止。
总结:
不成功的RHS引用会导致抛出 ReferenceError 异常。不成功的LHS引用会导致自动隐式地创建一个全局变量(非严格模式下),该变量使用LHS引用的目标作为标识符,或者抛出 ReferenceError 异常(严格模式下)。
2.闭包
??let与typeof
??let与闭包