理解预编译

JS的运动过程:
1.语法分析
2.预编译
3.执行解释

语法分析就是JS引擎去检查你的代码是否有错误,解释执行就是执行你的代码。最重要的当然还是预编译:
首先要明白函数声明和变量赋值的区别:
在这里插入图片描述
预编译(函数执行的前一刻):
1.创建AO对象(Activation Object)(执行上下文);
2.找函数形参和函数内变量声明,将形参名和变量名作为AO对象的属性名,值为undefined;
3.将实参值和行参统一,实参值赋给形参;
4.在函数体内里面找函数声明,值赋予函数体(函数声明会覆盖掉形参与实参的赋值)
可以看下面的例子:
在这里插入图片描述
大概按着这样一个顺序:
在这里插入图片描述
后面就是JS的执行赋值相关操作了,注意预编译是不会变量赋值的哦!
看结果:
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值