javascript中的变量提升和函数提升

javascript中的变量提升和函数提升
使用var变量会引起提升,let和const不会
变量提升会将变量声明提升到函数top,并不会把赋值提升上来
函数提升会将整个函数提升上去
 
el:变量提升
var a=1;
function auto(){
alert(a);
var a=2;
}
auto()
 
等价于
 
var a=1;
function auto(){
var a;
alert(a);
var a=2;
}
auto()
 
输出结果是undefind
 
 
el:函数提升
var a=1;
function auto(){
alert(a);
var a=2;
function a(){}
}
auto()
 
等价于
 
var a=1;
function auto(){
var a=function a(){};
alert(a);
var a=2;
function a(){}
}
auto()
 
输出结果是function a(){}
 
 
 

猜你喜欢

转载自www.cnblogs.com/sanqianjin/p/9141157.html