“变量提升”意味着变量和函数的声明会在物理层面移动到代码的最前面,但这么说并不准确。实际上变量和函数声明在代码里的位置是不会动的,而是在编译阶段被放入内存中。var、let、const 不用以上关键字直接赋值的变量会挂载与windows环境下;javascript中声明函数的方法有两种:函数声明式和函数表达式。JavaScript 在执行任何代码段之前,将函数声明放入内存中的优点之一是,这允许你可以在在声明该函数之前使用一个函数。

详解javascript 变量提升(Hoisting)

详解javascript 变量提升(Hoisting)

详解javascript 变量提升(Hoisting)

详解javascript 变量提升(Hoisting)