译者按: let和var对于变量提升的影响不同。 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。 提升(Hoisting)并不是指函数或则变量移动到最顶部。实际上,它们并没有移动到任何其它地方去。 对于变量声明,JavaScript引擎会在初始化变量的时候赋值为“undefined”。如下图所示,在第6行设置断点来查看: 有没有注意到变量 来看看使用let和var声明的变量如何做提升的如果使用 但是,对于使用 译者注:从安全角度考虑,推荐使用要求更加严格的let来声明变量。如果使用var声明,测试不到位的话,可能会在运行时触发一些莫名其妙的bug。想要更保险,推荐使用Fundebug做线上监控。 版权声明: 转载时请注明作者Fundebug以及本文地址: https://blog./2018/05/14/what_is_hoisting_in_js/ |
|
来自: Fundebug > 《Fundebug》