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函数声明的提升顺序,希望对大家有所帮助。更多js学习指路: