首页 > 编程语言 > 详细

JavaScript的RHS引用和LHS引用

时间:2019-12-28 15:04:07      阅读:83      评论:0      收藏:0      [点我收藏+]

JavaScript的RHS引用和LHS引用

  • RHS是我要找到名为某某的变量,我要知道它的值是什么。
  • LHS是我要找到名为某某的变量,将值赋值给它,我不需要知道这个变量之前的值是什么

我们看着段代码

var b = 2;
console.log(b);

给变量查找变量b并给其赋值,就是LHS引用;获取b的值就是RHS引用

function foo(a){
    console.log(a);
}
foo(2);

这段代码看起来很简单,但里面的引用却较为复杂。

首先,"去找foo的值,并把它给我",于是找到了foo,它是个函数,去执行它,这里要注意,函数有参数a,这里会执行一个LHS引用,把2赋值给a,这经常被忽略掉,然后别忘了,console.log也要进行引用,对console对象进行RHS引用,并检查里面是否有一个叫作log的方法,然后就是对a进行RHS引用,获取a的值,接下来还有最后一步,就像foo(2)一样,log(a),将a传递进去,引擎实现这个log的方法,理论上也会进行一次LHS的引用。

最后不管是LHS查询或RHS查询都会在当前的作用域找,找不到,再父级作用域找,直到全局作用域,如果还找不到那就会报错。

一道小试题

请问这段代码有几处RHS引用和LHS引用

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

好了,这两个知道还是没啥用处,它一种偏冷的知识,不过知道了,有种13格比较高的感觉。

JavaScript的RHS引用和LHS引用

原文:https://www.cnblogs.com/tourey-fatty/p/12111549.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!