js代码是有浏览器的js解析器(js引擎)来执行的,js解析器在运行js代码的时候分两步,预解析跟代码执行
预解析:js引擎会把js里边所有的var 跟 function 提升到当前作用域的最前边
代码执行:按照代码书写顺序从上往下执行
预解析分为变量预解析(变量提升)与函数预解析(函数提升)
变量提升 就是把所有的变量声明(var)提升到当前的作用域最前边,不提升赋值操作
函数提升 就是把所有的函数声明提升(function)到当前作用域的最前边,不调用函数
js代码是有浏览器的js解析器(js引擎)来执行的,js解析器在运行js代码的时候分两步,预解析跟代码执行
预解析:js引擎会把js里边所有的var 跟 function 提升到当前作用域的最前边
代码执行:按照代码书写顺序从上往下执行
预解析分为变量预解析(变量提升)与函数预解析(函数提升)
变量提升 就是把所有的变量声明(var)提升到当前的作用域最前边,不提升赋值操作
函数提升 就是把所有的函数声明提升(function)到当前作用域的最前边,不调用函数