There's no difference. Both are valid ways to get the JavaScript parser to treat your function as an expression instead of a declaration.
Note that +
and !
will also work, and are sometimes used by minifiers to save a character of size:
+function() {
var foo = 'bar';
}();
!function() {
var foo = 'bar';
}();
EDIT
As @copy points out, for completeness, ~
and -
will also work.
-function() {
var foo = 'bar';
}();
~function() {
var foo = 'bar';
}();
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…