函数声明

  • 函数名不可省略,省略了就变成非法语法
  • 函数声明会存在函数提升
    1. function fn () {}

    函数表达式

    不存在函数提升,在使用前就得定义函数,阅读体验更好
    1. const fn = function f () {}

    匿名函数

    匿名函数在回调参数中常见,可以省略函数名,优点是书写起来容易
    1. setTimeout(function () {}, 1000)

    匿名函数表达式

    ```javascript // 写法二:匿名函数表达式 const fn = function () {}

// 写法二:箭头函数写法的匿名函数表达式 const fn = () => {}

  1. <a name="xiikd"></a>
  2. # 立即执行函数表达式(IIFE)
  3. Immediately Invoked Function Expression,函数名不是必须的,完全可以省略。<br />第一个括号把函数变成了表达式,第二个括号执行了这个函数
  4. ```javascript
  5. (function IIFE() {
  6. })()