1.只有聲明本身會被提升财骨,而賦值或其他運行邏輯會被留在原地
a=2;
var a;
console.log(a);
//2
console.log(a);
var a=2;
//undefined
2.函數(shù)聲明會被提升,但函數(shù)表達式不會被提升覆旱。
foo()
function foo(){
console.log(1);
}
//1
foo()
bar()
var foo=function bar(){
console.log(1);
}
//TypeError:foo is not a function
//ReferenceError:bar is not defined