js 的执行过程

首先来看一下LHS和RHS

  LHS:是赋值操作的左侧,可以理解为赋值操作的目标是谁

  RHS:是赋值操作的右侧,谁是赋值操作的源头。

接下来看看这段代码的执行过程:

  function foo(a){

    console.log(a):

  }

   foo(2);

我们把这段代码想想成一段对话:

  引擎:作用域,我需要对foo 进行RHS 引用,你见过吗

      作用域:我见过呀,编译器刚刚声明了,他是一个函数,给你,

  引擎:好,来执行一下foo

  引擎:作用域,我需要对a进行一次LHS,你见过吗

     作用域:编译器把a设置成了一个形式参数,给你

     引擎:我要把2 赋值给a

     引擎:作用域,我又要对console进行一次RHS引用,你见过吗

     作用域:哦 这个是内置对象,给你

      引擎:我看看里面有没有log(),哦 ,找到了

     引擎:作用域,在帮查下a的RHS引用,

     作用域:这个变量没有动过,给你

     引擎:我来把a的值传递给log吧

 

转载于:https://www.cnblogs.com/Kellana/p/6581249.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值