var a = 1;被后面同名的函数覆盖,但是在逐行解析代码时,给a重新赋值这句没懂

var a = 1;被后面同名的函数覆盖,但是在逐行解析代码时,给a重新赋值这句没懂

那和不覆盖有啥区别,覆不覆盖有啥用

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

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

2回答
好帮手慕言 2019-10-30 09:37:04

同学你好,预解析之后还要逐行解析代码的,逐行解析代码时会重新赋值,预解析之后,a是如下函数,

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

所以在第一次打印a时,是一个函数

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

var a = 1;之后,a就是1了,不是函数了哦,这时再打印a,结果是1,

同学可以根据视频中老师讲解的思路再理一下哦。

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

提问者 你要去哪 2019-10-30 00:18:57

预解析结束后只剩下function a {console.log(4)}

最后打印出来的不是只有function a {console.log(4)}吗?


  • 预解析不会过程中,只会针对var和function进行提升,所以解析后的格式如下: function a {console.log(4)} console.log(a) a=1; console.log(a); 如上,会有两个console打印的
    2019-10-31 11:07:17
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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