Fe-interview: [js] 第112天 函数声明与函数表达式有什么区别?

Created on 5 Aug 2019  ·  4Comments  ·  Source: haizlin/fe-interview

第112天 函数声明与函数表达式有什么区别?

js

Most helpful comment

函数声明

function fn() {
///...
}

函数表达式

const aa = function() {
///...
}

区别:
1.函数声明,函数名必须有,在函数表达式中可以省略函数名
2.函数声明会被预解析,函数表达式不会

All 4 comments

函数声明会函数提升,将函数声明提升到作用域最上层,而函数表达式必须赋值完成了才能调用。

函数声明

function fn() {
///...
}

函数表达式

const aa = function() {
///...
}

区别:
1.函数声明,函数名必须有,在函数表达式中可以省略函数名
2.函数声明会被预解析,函数表达式不会

最大的区别就是函数声明会提升至作用域的顶端,函数表达式则会在赋值之后能调用。

  • 函数声明: 声明+赋值
  • 函数表达式: 声明,代码执行到此处才会赋值,所以在此之前,函数不能被调用
Was this page helpful?
0 / 5 - 0 ratings