(function(){})()
相当于先定义function xx(){},后调用xx();
()是最高优先级的,所以先执行function(){},
这个定义了一个匿名函数,等于xx=function(){}
接着就是调用xx()了。
这种写法的好处就是能很好的利用javascript的变量的可见范围执行脚本时节省空间。
例如以下写法1和写法2达到的目的一样,但是写法1由于变量a的可见范围只是在匿名函数体内,所以a在执行完这个匿名函数后就释放空间了。但是写法2会一直存在该页面中。
写法1:
(function(){var a=2; alert(a);})();
写法2:
var a=2; alert(a);