小伙伴们 ,今天做了腾讯的一道变量提升的面试题,试一试看你能否进腾讯!

说明:关于js变量的提升一直是个难点,小编做了这个面试题,错误百出,还好经过我一番努力,终于明白了其中的原理,

希望对各位小伙伴有帮助。

**********

解析:

 1.关于这道题,各位先了解下同名变量和同名函数在作用域里的存储,以及浏览器的从上到下的解析过程

exp: 

可以看到预解析的过程是不是有很多小伙伴觉得应该输出的 undefined ,却为什么是  输出的函数呢?那下面就看下变量的栈中是怎样存储的?

在栈中存储的时,因为只覆盖了a的值,因为值是undefined 没有覆盖地址,所以才出来地址。而下面的 a=test很好的说明值是可以覆盖地址的(其实地址本质也是一个常量)

哈哈,小编就入了这个小坑。

在回去看腾讯爸爸的面试题:



有没有点明白,希望对大家有点小帮助吧 !

最后如果有错误,希望大家留言,前端的小伙伴们一起加油!!!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值