由于语法错误,以下代码不起作用。
function() {
alert('foo')
}()
上述代码的 JSFiddle URL:http: //jsfiddle.net/qr2fr/
可以通过以下方式在函数定义周围添加一对额外的括号来修复此代码。
(function() {
alert('foo')
})()
上述代码的 JSFiddle URL:http: //jsfiddle.net/t6sJs/
但是,下面的 JavaScript 代码可以正常工作,并在函数定义周围没有额外的括号对的情况下警告字符串“foo”。
var a = function() {
alert('foo')
}()
上述代码的 JSFiddle URL:http: //jsfiddle.net/qLKsq/
为什么这段代码在函数定义周围没有额外的括号的情况下可以工作?