首页 > 解决方案 > 为什么在 return 语句后没有提升函数?

问题描述

const func = () => {
  someFunction() // error here
  
  return function someFunction() {
    console.log('hello')
  }
}

func()

我已经创建了闭包并想检查func函数内部的提升。每次创建函数声明时,它都会将变量提升到顶部。为什么someFunction不吊装?

标签: javascript

解决方案


当你把一个函数放在return语句之后,它不再是一个函数声明,而是一个函数表达式。与声明不同,函数表达式不会被提升。

与函数声明不同,JavaScript 中的函数表达式不会被提升。

-MDN _


推荐阅读