;(function(){ alert('啥也没做');})();
会弹框。
这是个匿名函数。最前面的分号可以去掉,仅仅是在代码压缩时防止出错。
该函数可以拆解成非匿名函数:
var a= function(){ alert('啥也没做');}
;(a)();
去掉分号和括号,拆解的函数实际是:
a();
分号后面的那个包含a的括号其实按道理也是可以去掉的,但是语法解析器会报错:
;function(){ alert('啥也没做');}();
VM243:2 Uncaught SyntaxError: Unexpected token (
我们经常会遇到这种匿名函数写法。
参考:
闭包 - 廖雪峰的官方网站
http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143449934543461c9d5dfeeb848f5b72bd012e1113d15000