-3

我有两个代码片段。第一个工作正常,但第二个给出错误。

var b = function abc() {
    alert(a);
}()

在这里,我收到了警报消息。

function abc() {
    alert(a);
}()

在这里我收到错误。“Uncaught SyntaxError: Unexpected token )”我正在使用 chrome 浏览器。

以下再次起作用。

(function abc() {
    alert(a);
})()

括号括起来的目的是什么?

4

1 回答 1

-1

这是为了 - 除其他外 - 防止提升以及污染全局范围。还可以明确告诉解析器期待函数表达式,而不是声明。

维基百科的一篇文章就此事提供了相当丰富的信息。

于 2018-03-24T08:17:07.343 回答