Javascript第四章变量的提升和预解析方法流程第四课

版权声明:本文为博主原创文章,未经博主允许不得转载。如有问题,欢迎指正。 https://blog.csdn.net/qq_30225725/article/details/88605067

在这里插入图片描述
更多免费教学文章请关注这里
首先我们写一个代码:

解析前代码:

在这里插入图片描述

预解析(全局)后代码:
在这里插入图片描述
第二步:一行一行的执行代码

在这里插入图片描述

第三步:当执行函数时,再次进行预解析 局部作用域依然跟第一步一样解析

在这里插入图片描述

解析后: 放到当前局部作用域的上面(放到自己所在作用域的上面)

在这里插入图片描述

第四部:接着一步一步的执行

为什么输出的是undefined?

解答:因为就近原则,var num 全局变量和 function内的方法局部标量num是一样的, 所以优先是取局部变量里的值,但是代码执行,从上到下,未给num赋值,所以输出结果是undefined

猜你喜欢

转载自blog.csdn.net/qq_30225725/article/details/88605067