Appearance
JavaScript 中,函数及变量的声明(var x;)都将被提升到函数的最顶部(及可以在声明之前使用x),但是加上初始化的声明(var x = 5;)不会被提升到函数的最顶部
JavaScript
(var x;)
(var x = 5;)
提升原理:遇到 script 标签的话js就进行预解析,将变量 var 和function声明提升,但不会执行 function,然后就进入上下文执行,上下文执行还是执行预解析同样操作,直到没有 var 和 function,就开始执行上下文
script
js
var
function