// 将函数本体提升到作用域最顶端
// 将所有变量提升到当前作用域最顶端
// 当变量名与函数名字重复的时候,变量赋值 会将函数本体覆盖
console.log(a);//function a ()
var a = 1;
console.log(a);//1
// 函数声明提升
function a() {}
console.log(a);//1
/*
a 一开始可能是函数名 最终都是window下属性
a undefined--->function a ()---->1
*/