JavaScript - 预解析

预解析:

- 在所有代码开始执行之前,对代码进行通读并解释,解释完毕以后再开始执行代码

- 函数调用问题

        - 在函数定义的时候,被装进“盒子”内的代码是不执行的

        - 在函数调用的时候,代码才会执行

- 预解析有两部分

        - 全局预解析:打开页面的时候,回怼全局代码进行预解析,但是函数体内的代码不管       

        - 局部预解析:当函数调用的时候,会在函数的私有作用域内进行预解析,解析完毕执行函数 体内的代码

预解析解释哪些内容:

- var

        - 向浏览器内存声明有一个变量被定义了,但是还没有赋值

        - 赋值操作是在代码执行阶段才会执行的

=> 当时使用一个变量的时候

- 如果报错:xxx is not defined,说明这个变量没有定义

- 如果出现 undefined 说明这个变量定义过,但是没有赋值

- 声明式函数

        - 声明式函数会进行预解析

        - 当代码发现声明式函数的时候会在浏览器内存中声明 变量名(函数名),并且被赋值为一个函数

- 赋值式函数(函数表达式)

        - 按照 var 的规则执行

预解析的重名问题

- 当代码中 函数名 和 变量名 重名的时候,以函数为准,仅仅只是在预解析中

- 不要把函数名和变量名重名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值