js/预解析
1、js引擎在执行js代码时,会先解析js代码然后再去执行js代码,在解析js代码时会将var声明的变量和function声明的函数提到当前作用域代码的顶部。 2、当var声明的变量名与function声明的函数名一样的时候,函数优先级更高 (1)案例一 console.log(f) var f = 123; function f(){console.log(456)} 解析过程: var f; function f(){console.log(456)} // 函数整体提升 console.log(f) // function f(){console.log(456)} f = 123; (2)案例二 console.log(f) function f(){console.log(456)} var f = 123; 解析过程: function f(){console.log(456)} // 函数整体提升 var f; console.log(f) // function f(){console.log(456)} f = 123; 来源: https://www.cnblogs.com/cuishuangshuang/p