JavaScript声明有个特征,它会将声明的变量与函数提到头部。
函数声明(不要用函数表达式,用了相当于变量声明提升):
sum(1, 2); function sum(a, b) { console.log(a + b) }上面的代码与下面一致
function sum(a, b) { console.log(a + b) } sum(1, 2);
变量声明:
console.log(a) // undefined var a =2;上面的代码与下面一致
var a; console.log(a) // undefined a = 2;