非常简单,所以问题是为什么
(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/