js预处理

本文探讨JavaScript的预处理过程,解释为何存在预处理,并重点讲解词法环境和函数声明优于变量声明的规则。预处理阶段包括两个阶段:预处理和执行。词法环境在ECMAScript标准中扮演关键角色,而函数声明具有最高优先级,可以覆盖同名变量声明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  首先提出一个问题,为什么会有预处理?

  预处理是因为js会首先把全盘的js扫描一遍,所以就产生了预处理。

  js处理分为两个阶段, 预处理阶段和执行阶段

      想要深度理解好预处理一定要弄清楚下面两大点:

1.词法环境(Lexical Environment)

1.1 在ECMA -262 标准中定义了 VariableEnvironment  ---用于js解析器

1.2 顶级的LexicalEnvironment是window

2.先扫描函数声明后扫描变量(var声明)

2.1 函数级别最高

2.2 处理函数声明有冲突,会覆盖

2.3 处理变量声明时有冲突,会忽略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值