LHS RHS

xmzs面试题:以下出现了几次LHS和RHS

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

先明确概念

1. LHS代表"Left-hand Side",用于赋值操作。在代码中,LHS操作会出现在以下地方:

xmzs说:往内存中去存储值的一个操作 ,赋值的目标,声明(c等于几,b等于几)

   - let b = a; 中的 b = 是一个LHS操作,用于将 a 的值赋给 b。

   - let c = foo(2); 中的 c = 是一个LHS操作,用于将 foo(2) 的返回值赋给 c。

2. RHS代表"Right-hand Side",用于获取变量的值。 在代码中,RHS操作会出现在以下地方:

xmzs说:从内存中取值的一个操作,取值的源头,溯源

   - foo(2) 是一个RHS操作,用于获取函数 foo 的值。

   - return a + b; 中的 a 和 b 都是RHS操作,用于获取对应的变量值。

一共四次RHS,三次LHS

function foo(a) { //将2赋值给a(LSH2)
  let b = a; //将a赋值给b(RHS2)  还要查询a的来源(LSH3)
  return a + b;  //查询a和b的来源(RHS3,4)
}
let c = foo(2); //等号左边c要赋值(LSH1),foo()要找到它的源头(RHS1)

没有声明a报错:RHS查不到

LHS RHS_第1张图片

LHS查询失败

LHS RHS_第2张图片

RHS 查询失败

LHS RHS_第3张图片

你可能感兴趣的:(#,前端基础,前端,javascript,开发语言)