JavaScript 中,函数及变量的声明都将被提升到函数的最顶部。
JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。
使用匿名函数的方式不存在函数提升,因为函数名称使用变量表示的,只存在变量提升。
var getName=function(){
console.log(2);
}
function getName(){
console.log(1);
}
getName();
//结果为2
getName 是一个变量,因此这个变量的声明也将提升到顶部,而变量的赋值依然保留在原来的位置。需要注意的是,函数优先,虽然函数声明和变量声明都会被提升,但是函数会首先被提升,然后才是变量。