关于js解析机制

关于js解析机制

http://img1.sycdn.imooc.com//climg/5db0efc40935055b04790319.jpg

预解析过程不应该是http://img1.sycdn.imooc.com//climg/5db0efe0091e0cfe02080191.jpg

第一个打印不应该是undefined吗。其他三个打印都还能懂


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕言 2019-10-24 15:41:01

同学你好,老师在视频中的表达的是,如果变量名与函数名一致,那么函数会覆盖变量哦。

同学可以再理解下。

如果还有其他疑问,为了高效的为同学解答,可以新建问题进行提问哦。

如果帮助到了你,欢迎采纳~祝学习愉快~

好帮手慕言 2019-10-24 14:18:45

同学你好,我们先来分析一下预解析的过程。

1、先来看var:解析完之后a=undefined。

2、再来看function:因为函数名与变量名冲突(名字都是a),那么现在的a就不是undefined了。就是函数(也就是function a() { console.log(2) }),再往下解析时,又一个名为a的函数,那么现在的a就是function a() { console.log(4) }。

预解析完之后,开始逐行解析,第一次打印a的结果就是名为a的函数。

预解析这块刚一接触可能会有些绕,同学可以跟着视频中老师讲解的再理解一下哦。视频:https://class.imooc.com/lesson/788#mid=19797,在2分15秒处,老师有对这道题进行详细的讲解哦

如果帮助到了你,欢迎采纳~祝学习愉快~


  • 提问者 玛丽大学前端 #1
    但是预解析的时候函数与变量同名不是说函数优先预解析吗
    2019-10-24 14:26:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师