console.log(a);
var a=function(){
console.log(1);
};
function a(){
console.log(2);
};
a();
结果为:
function a(){
console.log(2);
} //console.log(a)执行结果。
1 //a()执行结果。
先变量声明提升,再是函数声明提升。声明提升后才执行其他操作(从上到下执行)
其真实的执行顺序为:
var a;
function a(){
console.log(2);
};
console.log(a);
a=function(){
console.log(1);
}
a();
PS:
var a=function b(){
console.log(3);
}
b(); //报错。 b is not defined。