首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在JavaScript中,空函数调用是函数还是表达式?

在JavaScript中,空函数调用是函数还是表达式?
EN

Stack Overflow用户
提问于 2018-08-17 02:38:01
回答 3查看 73关注 0票数 0

假设我在第-1行声明了一个空函数:

1: function foo () {} 
2: foo() 

我在第-2行执行了同样的操作,第-2行是语句还是表达式?为什么?

EN

回答 3

Stack Overflow用户

发布于 2018-08-17 02:40:18

function foo () {} =>这是一个函数声明。

foo() =>你正在调用那个函数,这是一个调用该函数的表达式

票数 2
EN

Stack Overflow用户

发布于 2018-08-17 03:16:48

第2行是包含(并完全由)调用表达式组成的语句。如果您没有省略语句末尾的可选分号,它可能更容易识别为语句:

/* 1 */ function foo () {} 
/* 2 */ foo();
//           ^

foo()部分本身就是调用表达式,也可以在允许表达式的不同上下文中使用,例如作为console.log(foo());console.log的参数。

票数 2
EN

Stack Overflow用户

发布于 2018-08-17 03:44:24

函数调用是一个表达式。被调用的函数体中的内容没有区别。实际上,即使定义了函数也没有区别(但如果您试图在定义函数之前执行调用,则会得到一个错误)。

任何表达式也可以用作语句,只需编写它本身,而不是作为其他语句或表达式的一部分。

因此,第2行既是一个表达式,也是一个语句。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51883438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档