LHS和RHS查询笔记
程序员文章站
2022-07-14 14:28:04
...
LHS 和 RHS
引擎在执行编译器在编译过程生成的代码时,通过查找赋值操作的左侧和右侧的变量,判断是否声明过。
LHS 是变量在赋值操作的左侧,例如:
var a = 2
RHS 是变量在赋值操作右侧,例如:
console.log(a);
或
foo(2)
foo(2) 是指找到 foo() 的函数。
异常
RHS 在作用域中找不到变量,引擎会抛出ReferenceError 错误。
RHS 在作用域中,找到变量,但是进行了不规范的操作,比如:不是函数却执行了函数操作,比如在末尾加了个(),引用数值为 null 或 undefined 的属性,则会返回 TypeError 错误
LHS 在作用域中找不到变量,在非严格模式下会创建一个全局变量。
推荐阅读