千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 千锋web前端培训班:JavaScript中变量提升是什么?如何实现?

千锋web前端培训班:JavaScript中变量提升是什么?如何实现?

来源:千锋教育
发布人:小千
时间: 2021-09-03 14:23:00 1630650180

      在进行web前端开发的时候,我们经常会遇到变量提升的情况,那么JS在解析变量的时候是如何做到提升的呢?今天小千就来带大家了解一下。

      首先在JS中涉及两种作用域的问题,那么什么是作用域呢?

      作用域是代码中所使用名字的作用范围,分为Script全局作用域和函数局部作用域。 当浏览器在解析网页内容时,会分别启动不同的解析器来解释代码的含义,如解析标签(超文本)的解析器、解析CSS样式的解析器,解析javascript脚本的解析器。且解析过程为同步(按顺序)解析。所以当浏览器解析到script标签时,会停止对html和css的解析,同时启动javascript的解析器。而在解析javascript的过程中我们主要关注解析器中的两个步骤:

      1.预解析,即在当前作用范围中去寻找var、function、形参这三个内容。

      如果找到var关键字、则提取var后面的名字放到当前作用域中,且默认给这个变量初始化一个值为undefined。

      如果找到function关键字,则提取函数名放到当前作用域中,且将整个函数块赋值给函数名。

      如果找到形参,则将形参名放到当前作用域中,且默认初始化为undefined。这个过程也称为变量提升。

      2.逐行解读代码(即从上到下依次执行每一条语句)且分为两个步骤:执行表达式和函数调用。

千锋<a href=web前端培训" />

      当变量名与函数名相同时:

千锋web前端培训2

      当有多个script标签时: - 多个script标签时,从上到下依次解析script作用域,所以建议将所有声明的语句放到第一个script中。

千锋web前端培训3

      以上就是web前端JS变量提升的介绍了,最后欢迎对web前端开发感兴趣的同学来到千锋大前端培训班参加我们的前端培训课程学习,现在咨询不仅有两周的免费试听,更有免费学习资料和教程视频可以领取,赶紧去找在线老师了解一下吧。

      千锋web前端培训班http://www.mobiletrain.org/page/html5.html

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT