最近在重学前端,遇到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
- c= …
- a=2; 这一个LHS其实是一个隐式查询
- b=…
- RHS
- foo(2..
- = a;
- return a;
- return b;
转载于:https://www.cnblogs.com/narutoNinja/p/11262484.html
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233021.html原文链接:https://javaforall.net