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(){}
 
 
 
posted @ 2018-06-05 18:13  寂寞之砂  阅读(115)  评论(0编辑  收藏  举报