问一下老师,为啥这两个函数在逐句执行的时候都没执行跳过了,是不是要先把外层执行完了再执行内层

问一下老师,为啥这两个函数在逐句执行的时候都没执行跳过了,是不是要先把外层执行完了再执行内层

正在回答

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

2回答

同学你好, 老师指的是正常情况下,使用function声明的函数,在代码真正执行的时候,会跳过函数声明语句,等到调用函数时,才会执行函数内部的代码。

同学理解是对的, 截图中的代码, 按着从上到下的执行顺序,在使用a()调用函数之前,a已经作为变量存在了,所以会报错。

祝学习愉快~

好帮手慕慕子 2020-09-09 16:54:10

同学你好,因为圈起来的这两句属于函数声明语句,在预解析阶段会将function关键字声明的函数提升,所以等到代码真正执行的时候,会跳过声明函数语句,等执行到调用函数语句即:a()时,才会执行函数内部的代码。

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

  • 提问者 慕斯9523191 #1
    可是到了调用a()的时候系统就报错了啊,因为这个时候a已经作为变量存在了?
    2020-09-09 16:57:05
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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