首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >包含在括号中的函数

包含在括号中的函数
EN

Stack Overflow用户
提问于 2012-10-10 17:59:41
回答 1查看 222关注 0票数 3

为什么会返回语法错误:

代码语言:javascript
运行
复制
function(foo){console.log(foo)}

我希望这会返回函数的值,从而返回自身,并且不会将其赋值给任何东西,但我得到了一个"SyntaxError: expect (“

但这是可行的:

代码语言:javascript
运行
复制
(function(foo){console.log(foo)}) 

请解释一下这些括号的作用。有人告诉我,括号是用来“增加可读性”的,但在这种情况下,肯定有更多的目的。

您能更详细地了解一下about ()的用法吗?假设你要将这行代码翻译成散文,()读起来会是什么样子?我也在试着向其他人描述这个概念,并需要传达它的含义,以便每个人都能理解它。我想要回答的问题是,()的意思是什么?它们有语义值吗?它是什么?

EN

回答 1

Stack Overflow用户

发布于 2012-10-10 18:02:16

这是因为在没有()的情况下,function(){}行是一个function declaration,而带有的行是一个expression

函数声明是一种奇怪的野兽,在代码执行之前,它们在定义的作用域中到处可用,所以像这样的代码片段是有效的:

代码语言:javascript
运行
复制
foo();
function foo() { console.log('foo'); }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12816654

复制
相关文章

相似问题

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