今天学习了JS预解析–挺有意思–小傻猫就浅记一下
预解析:变量预解析、函数预解析
1 、JS引擎运行js 分为两步: 预解析 代码执行
(1) 、JS引擎会把 里面所有的 var function 提前到当前作用域的最前面
(2)、代码执行 按照代码书写的顺序 从上到下执行
2、预解析分为 变量预解析(变量提升) 和 函数预解析 (函数提升)
(1) 变量提升 所有的变量声明提升到当前作用域最前面 不提升赋值操作
(2) 函数提升 把所有的函数声明提升到当前作用域的最前面 不调用函数
这是学习视屏分析简记,更详细我就没查了。
主要案例分析如下:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34<script> //-------------------------------------------------- //eg 1 预解析案例---->仔细分析-----结果是:undefined var num = num; fun(); function fun() { console.log(num); var num=20 } //相当于执行如下 var num; // 1、 function fun() { // 2、 console.log(num); var num=20 } num=10; // 3、 fun(); // 4、 var num // 5、 function fun(){ var num; console.log(num); //此处的num 是当前函数作用域内的num ,运行此处只定义还未赋值 num=20; } num =10; fun(); //------------------------------------------------------- //eg 2 预解析案
最后
以上就是呆萌音响最近收集整理的关于JS的预解析的全部内容,更多相关JS内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复