网上的回答大多数回复如下,意思就是变量先提升,而后函数声明
1、创建AO对象,执行期上下文
2、寻找函数的形参和变量声明,将变量和形参名作为AO对象的属性名,值设定为undefined.
3、将形参和实参相统一,即更改形参后的undefined为具体的形参值。
4、寻找函数中的函数声明,将函数名作为AO属性名,值为函数体。
但是我在《你不知道的JavaScript(上卷)》看到了这样的一段话:函数会首先被提升,然后才是变量
那书上跟网上的说法就矛盾了, 或许是本人理解偏颇,尽管两者希望有大佬指教一二。
《你不知道的JavaScript(上卷)》说的是对的函数会首先被提升,然后才是变量
https://blog.csdn.net/qq_45633169/article/details/109718509
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632