概念: JS会将所有使用var关键字声明的变量集中到顶部创建,赋值留到原地。变量声明提升: 只提升声明,不提升赋值。 console.log(a,b); //undefined,undefinedvar a = 10;var b = 20;事实上代码执行 var a,b;console.log(a,b)a = 10;b = 20;