知识点 var 声明的变量在预解析的时候只执行声明,不会执行定义,默认值是 undefined。 function 声明的函数在预解析的时候会提前声明并且会同时定义。 变量名重复声明无效 预解析过得代码不会再执行阶段执行 示例一 console.log(a); // 打印函数a函数体(function a() { console.log('a') }) var a = 10