[关闭]
@52fhy 2015-09-19T15:39:49.000000Z 字数 434 阅读 503

js笔记:匿名函数

JavaScript


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

会弹框。

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

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

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

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

  1. a();

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

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

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

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

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注