LHS和RHS理解

最近在重学前端,遇到LHS和RHS两个名词,这里记录下,方便深入理解两个概念

见名知意,“L”和“R”的含义,它们分别代表左侧和右侧。

这里举一个简单的例子

console.log(a)

在这段代码中,a就是进行RHS查询,因为我们并没有对a进行赋值操作,而是直接引用了a,我们需要查找并拿到a的值才能传递给console.log
如果a=2,这里对 a 的引用则是 LHS 引用。

LHS 和 RHS 的含义是“赋值操作的左侧或右侧”并不一定意味着就是“= 赋值操作符的左侧或右侧”。说白了就是变量出现在复制操作的左边是进行LHS查询,出现在右边就是进行RHS查询。

再例如

function foo(a) { 
  var b = a;
  return a + b; 
}
var c = foo( 2 );

其中LHS查询有三处,RHS有四处。
分别是

  • LHS
    • c= ...
    • a=2; 这一个LHS其实是一个隐式查询
    • b=...
  • RHS
    • foo(2..
    • = a;
    • return a;
    • return b;
posted @ 2019-07-29 10:30  inaruto  阅读(16052)  评论(1编辑  收藏  举报