概念: JS会将所有使用var关键字声明的变量集中到顶部创建,赋值留到原地。
    变量声明提升: 只提升声明,不提升赋值。

    1. console.log(a,b); //undefined,undefined
    2. var a = 10;
    3. var b = 20;

    事实上代码执行

    1. var a,b;
    2. console.log(a,b)
    3. a = 10;
    4. b = 20;