变量声明提前
var 声明一个变量,这个变量会被提前到整个函数的顶部,但没有被赋值
1 | (function(){ |
函数声明提前
只有函数声明格式的函数才会存在函数声明提前,而函数表达式、构造函数不存在
函数创建的三种写法
- 函数声明:function fun( a ) { console.log(a) }; (存在函数声明提前)
- 函数表达式:var fun = function( a ) { console.log(a) };
- 构造函数:var fun = new Function( “a”, console.log(a) );
1 | num()//1 |
变量声明提前 函数声明提前顺序
函数声明比变量声明更提前
1 | console.log(a); |