关于js变量提升的疑问:变量声明和函数声明,两者谁先提升?

网上的回答大多数回复如下,意思就是变量先提升,而后函数声明
    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