JavaScript 中函数声明与函数表达式的区别

145 阅读1分钟

JavaScript 中创建函数的方式有两种:函数声明、函数表达式,各自写法如下:

函数声明

    function fn1() {
      console.log('函数声明')
    }

函数表达式

    let fn2 = function() {
      console.log('函数表达式')
    }

这两种方式的区别在于,函数声明在JS解析时进行函数提升,因此在同一个作用域内,不管函数声明在哪里定义,该函数都可以进行调用。而函数表达式的值是在JS运行时确定,并且在表达式赋值完成后,该函数才能调用。

    fn1() // 函数声明
    function fn1() {
      console.log('函数声明')
    }
    
    fn2() // 报错
    let fn2 = function() {
      console.log('函数表达式')
    }