JavaScript 定义然后调用语法

标签 javascript function closures call

非常简单,所以问题是为什么

(function(){ console.log('a'); }()); // 'a'

(function(){ console.log('a'); })(); // 'a'

工作,但是

function(){ console.log('a'); }() // SyntaxError: Unexpected token (

出现错误?这种行为背后的意义是什么?或者这些额外括号的目的是什么?

最佳答案

额外的括号将函数转换为函数表达式,而不是函数声明

只有函数表达式可以通过尾随 () 立即调用。

关于JavaScript 定义然后调用语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24787838/

相关文章:

javascript - 对象的动态数组

javascript - 新手: Need explanation of a Js function

闭包环境中的 Rust 生命周期

C++0x 闭包/lambda 示例

javascript - 使用respond_to format.js 替换rails 上文本区域的内容

javascript - 如何从循环中的 listitem/无序列表的输入中获取值

javascript - 从 three.js 中的 THREE.Line 对象中挤出 3d 形状

function - 我为这些条件做些什么来遵循 FP?

JavaScript 函数默认参数值

grails - grails中两个 Action 签名之间的区别