js笔记:匿名函数

;(function(){ alert('啥也没做');})();

会弹框。

这是个匿名函数。最前面的分号可以去掉,仅仅是在代码压缩时防止出错。

该函数可以拆解成非匿名函数:

var a= function(){ alert('啥也没做');}

;(a)();

去掉分号和括号,拆解的函数实际是:

a();

分号后面的那个包含a的括号其实按道理也是可以去掉的,但是语法解析器会报错:

;function(){ alert('啥也没做');}();
VM243:2 Uncaught SyntaxError: Unexpected token (

我们经常会遇到这种匿名函数写法。

参考:
闭包 - 廖雪峰的官方网站
http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143449934543461c9d5dfeeb848f5b72bd012e1113d15000

原文地址:https://www.cnblogs.com/52fhy/p/4823371.html