龙空技术网

JS函数声明和函数表达式的定义及其区别——超详讲解,值得拥有

编程三昧 268

前言:

目前咱们对“js中什么是表达式”大致比较看重,小伙伴们都需要分析一些“js中什么是表达式”的相关知识。那么小编同时在网络上汇集了一些对于“js中什么是表达式””的相关文章,希望朋友们能喜欢,姐妹们快快来了解一下吧!

在JavaScript中,有两个最常用的创建函数对象的方法,即使用 函数表达式 或者使用 函数声明 。那么两者的定义各是什么?又有什么区别呢?

函数声明

函数声明可以定义命名的函数变量,而无需给变量赋值。它是一种独立的结构,不能嵌套在非功能模块中。就像变量声明必须以“var”开头一样,函数声明必须以“function”开头。

格式:function 函数名称 (参数:可选){ 函数体 }

函数声明

由于 声明提升 的原因,函数声明可以在其作用域的任何地方被调用。

函数表达式

函数表达式将函数定义为表达式语句(通常是变量赋值)的一部分。通过 Function Expression 定义的函数可以是命名的,也可以是匿名的。

格式:function 函数名称(可选)(参数:可选){ 函数体 }

函数表达式

注:函数表达式之前的foo和foo()的结果是因为变量提升,可以参考文章结尾的推荐文章。

可以看出:

函数表达式的函数名称是可以省略的,并且这个函数名在其他地方是访问不到的;函数表达式可以通过变量名+括号执行;函数表达式必须在函数定义之后调用。函数声明和函数表达式的区别

1.函数声明中的函数名是必需的,而函数表达式中的函数名则是可选的。

2.函数表达式可以在定义的时候直接在表达式后面加()执行,而函数声明则不可以。

3.自执行函数即使带有函数名,它里面的函数还是属于函数表达式。

因为函数只是整个自执行函数的一部分。

编程是一种修行,我愿与志同道合的朋友携手前行,一起探索有关编程的奥妙!

如果您在前端学习的过程中遇到难题,欢迎【关注】并【私信】我,大家一起交流解决!

推荐阅读:

浅谈JS中变量提升——三分钟让你真正明白变量提升的含义

助你深入理解JS变量提升+为何let变量无法提升

带你一分钟理解JS闭包——通俗易懂

标签: #js中什么是表达式