老师,为什么第一种情况结果是B,第二种情况就报错呢
登陆购买课程后可参与讨论,去登陆吧
同学你好,解答如下:
情况1:
代码执行之前会预解析,变量和函数声明会被提升,因此情况1的代码预解析后效果如下:
由于变量声明无法覆盖函数声明,所以fun是函数:
因此可以直接调用:
情况2:
代码执行之前会预解析,变量和函数声明会被提升,如果有赋值语句,赋值语句会保留在原地,因此情况2的代码预解析后效果如下:
代码执行时,会先给fun1赋值成数字5,然后再执行fun():
由于数字不能使用括号调用,因此报错了。
祝学习愉快!
第一种情况不是执行的undefined()这种情况吗,fun的声明也是提升了,值为undefined呀,这种情况应该也是报错的
同学你好,当同名的变量和函数同时提示时,函数优先,即:
所以调用的不是undefined,而是函数function fun(){ ... }。
关于该点,建议回顾一下视频:
https://class.imooc.com/lesson/2122#mid=50418(9分28秒)
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
入行前端,是明智的选择!市场需求大,就业前景好,入行门槛低,小白易上手 全新升级:技术更新,Vue3.0/TypeScript/React17.x; 技术更全面,从0基础到全栈开发再到大型项目构建
157 1
75 1
31 2
200 5
155 1
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星