JS的作用域

作用域是一套规则,用于确定在何处以及如何查找变量(标识符)。如果查找的目的是对变量进行赋值,则进行LHS查询,如果目的是获取变量的值,则进行RHS查询。赋值操作符会导致LHS查询。=操作符或调用函数时传入参数的操作都会导致关联作用域的赋值操作。JS引擎首先会在代码执行前对其进行编译,在这个过程中,像var a=2这样的声明会被分解成两个独立的步骤。

1.首先,var a在其作用域中声明新变量,这会在最开始的阶段,也就是代码执行前进行。

2.接着,a=2会查询(LHS查询)变量a并对其进行赋值。

LHS和RHS查询都会在当前作用域中开始,逐级向上查询,直到全局作用域(顶层),无论找不找得到都会停止。


不成功的RHS引用会导致ReferenceError异常。不成功的LHS引用会导致自动隐式地创建一个全局变量(非严格模式)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值