1.函数和变量声明都会被提升到顶部;
2.但是函数会首先被提升,然后才是变量,而变量的赋值依然保留在原来的位置。
例:
var getNumber = function(){
console.log(2);
}
function getNumber (){
console.log(1);
}
getNumber ();
结果为2。
解释真实过程:
//1.函数声明提升到顶部
function getNumber (){
console.log(1);
}
//2.变量声明提升
var getNumber ;
//3.!!!变量赋值依然保留在原来的位置
getNumber = function(){
console.log(2);
}
// 4.最终输出:2
getNumber ();
网友评论