1、先提升var变量声明,再提升function函数声明。
2、假设变量名与函数名相同,后提升的函数名标识符将覆盖先提升的变量名。在后续代码中调用标识符时,内部是函数的定义过程,而不是undefined。
实例
console.log(a); //——>undefined
console.log(fun); //——>fun(){console.log(2);}
var a = 1;
var fun = "haha"; //相当于没有声明过程,只有赋值为“haha”
fun(); //此时“haha”覆盖了函数,调用的不是一个函数了,报错
function fun(){
console.log(2);
}
以上就是js函数声明的提升顺序,希望对大家有所帮助。