变量提升与函数提升

206 阅读1分钟

变量提升

变量提升就是变量在声明时,会被提到作用域的开头先定义,这就是变量提升。

console.log(a);
var a = 3;//undefined

相当于

var a;
console.log(a);
a = 3;

函数提升

函数定义有两种方式,一种是函数声明,一种是字面量定义(不存在函数提升)。

//存在函数提升
console.log(a);
function a(){
};//[Function: a] 
//不存在函数提升
console.log(a);
var a = function(){
}// undefined

注意

函数提升的优先级是要高于变量提升的。