1.JavaScript代码在预解析阶段,会对以var声明的变量名,和function开头的语句块,进行提升操作
2.函数同名时,预处理的时候,会将两个函数全部提升,但是后面的函数会覆盖掉前面函数
3.变量和函数同名时,在提升的时候,如果有变量和函数同名,会忽略掉变量,只提升函数
4.函数表达式不会被提升
func();
var func = function(){
alert("哈哈哈哈");
}
//提升后的代码
var func;
func();
func = function(){
alert("哈哈哈哈");
};
5.在函数中,只有声明了var的变量 这个变量才属于这个函数的作用域。