变量提升优先于函数提升
    变量声明提升
    通过var定义的变量,在定义语句之前就可以访问
    值:undefined
    函数声明提升
    通过function声明的函数,在定义之前就可以直接调用
    值:函数定义对象

    1. console.log(a); // undefined 变量提升
    2. fn(); // 值:fn() 可调用 函数提升
    3. var a = 1;
    4. function fun() {
    5. console.log('fn');
    6. }