LHS与RHS
LHS与RHS是引擎查找变量的两种类型。
LHS(Left-hand Side):left是指“=”号的左边,意思是要给查询得到的这个变量赋值,比如要吧1付给a变量,要先查询a是否存在,这时候用的就是LHS查询
RHS(Right-hand Side):right指的是“=”号右边,意思是要获取某个变量的值,比如打印a变量,console.log(a);js引擎要去查询这个变量是否存在,得到变量只想的值,这个时候用的就是RHS查询
//如果只有一个值并未赋值浏览器会走RHS abc; console.log('abc')//abc is not defined //如果是一个赋值
abc = 0;
console.log('abc)//0 //因为这个时候浏览器对abc走LFC查询,对0做RFC查询 //在非严格模式下,会对abc声明一个全局变量 //在严格模式下,会报错abc is not defined