javaScript 预解析的简单分析

  1. 我们 js 引擎运行 js 分为两步: 预解析 代码执行

            (1) 预解析 js 引擎会把 js 里面所有的 var 还有function 提升到当前作用域的最前面

            (2) 代码执行 按照代码书写的顺序从上往下执行

  2. 预解析分为 变量预解析(变量提升) 和函数预解析(函数提升)

            (1) 变量提升 就是把所有的变量声明提升到当前的作用域最前面 不提升赋值操作

            (2) 函数提升 就是把所有的函数声明提升到当前作用域的最前面 不调用函数

示例:

(1)

这两行代码就相当于 以下代码  (只声明不赋值,结果是 undefined)

(2)

相当于执行了以下代码(这里用的是匿名函数,fun 相当于一个变量)

(3)

相当于执行了以下代码

注意:用 function 关键字声明函数 和用 var 声明函数表达式是不一样的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值