变量声明提前
变量
使用 var 关键字声明的变量,会在所有代码执行前被声明
console.log(a); //undefined
var a = 10;
//相当于
var a;
console.log(a);
a = 10;
不使用 var 关键字声明的变量,不会被提前声明
console.log(a);//ReferenceError: a is not defined
a = 10;
函数声明提前
(1)使用函数声明方式创建的函数: function 函数名(){ }
它会在所有代码执行之前被创建,所以可以在函数声明前调用
函数
(1)函数声明 提前创建
(2)函数表达式 不会提前创建
解释:调用undefined();不是函数 直接报错