欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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 在作用域中找不到变量,在非严格模式下会创建一个全局变量。