---恢复内容开始---

js中常见的两种函数声明方式如下:

// 函数表达式
var f = function() {
      console.log(1);  
}

// 直接声明
function f (){
     console.log(2);
}

第一种方式,函数只能在声明之后调用。因为这种方式声明的函数,是在函数运行的阶段才赋值给变量 f 的;

第二种方式,函数可以在声明函数的作用域内任一地方调用。因为这种方式,是在函数解析阶段赋值给标识符 f .

 

值得注意的是,当同时使用这两种方式声明同一个函数名,最终执行的是函数表达式声明的函数。

承接上面的代码:

// 函数表达式
var f = function() {
      console.log(1);  
}

// 直接声明
function f (){
     console.log(2);
}

f();
// 1

 

---恢复内容结束---