正在回答
2回答
同学你好,可以参考下面的思路:
1、在预解析的时候,a变量会提升赋值为undefined,但是下面有a函数,名称重复了,函数提升会覆盖变量,现在a就是一个函数,下面还有一个a函数,后面的会覆盖前面的函数,所以现在a就是第二个函数。
2、预解析完之后开始从上到下按照顺序执行代码:
(1)开始输出a,a是提升之后的第二个函数,所以输出的结果就是第二个函数。
(2)a被赋值为1,现在a就是一个变量,函数声明会跳过,调用的时候才会执行,再次输出a的时候,结果就是1 。
(3)最后调用a,现在a是一个变量,不是函数,所以会报错。
可以再测试理解下。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星