-
使用var关键字声明的变量,会在所有的代码执行前被声明(但是不会赋值),但是如果声明变量时不适用var关键字,则变量不会被声明提前。
-
函数的声明提前,使用函数声明形式创建的函数,function 函数( ){ },它会在所有的代码执行前被创建,所以在函数声明前来调用。
-
使用函数表达式创建的函数,var 变量 = function( ){ },不会被声明提前,不能在声明前调用。
声明式函数:
function fun(){
console.log("我能在任意地位置被调用");
}
表达式函数:
var fun2 = function(){
console.log("我只能在函数执行后被调用,虽然被提前声明了,但是没有赋值,在我前面调用我无法执行我");
}