JS引擎中的LHS,RHS查询

问题

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

var c = foo(2);

1.找出其中所有的LHS查询。

2.找出其中所有的RHS查询。

何时进行RHS,LHS查询

如果查找的目的是对变量进行赋值,那么就会使用LHS查询;如果目的是获取变量的值,就会使用RHS查询。

答案

  • LHS查询3处

    • var b = a;中的对b进行赋值,需要LHS查询变量b
    • var c = foo(2);中对c进行赋值,需要LHS查询函数foo(2)调用后的值
    • a = 2;foo(2)中有一个隐式的对a的赋值操作
  • RHS查询4处

    • var b = a;中获取参数a的值,需要进行RHS查询
    • return a + b;中需要分别对a和b进行RHS查询
    • var c = foo(2);中获取foo(2)的值,需要进行RHS查询

作者:hayato
文章版权:本站所有文章版权依赖于 CC BY-NC-SA 3.0 Unported License

本文链接:https://blog.axis-studio.org/2017/10/03/JS引擎中的LHS,RHS查询/