js匿名自执行函数的写法为()(),主要是用与编写js插件,使用自执行函数能够确保该函数能够自行执行,而不需要而外编写代码执行它。
通常的写法为
(function(window,undefined){
//方法内容
})(window)
其中后一个 “window”为全局window对象,是要往这个函数中传入的对象。,前一个window为函数的形参,接收传入的window对象,而undefined参数的加入,是因为undefined在老一辈的浏览器是不被支持的,直接使用会报错,js框架要考虑到兼容性,因此增加一个形参undefined
为什么要传入window对象呢,因为这个匿名自执行函数如果多次用到全局window对象,将全局window对象直接传入函数中去作为局部变量可以提高js的性能,减少作用域查询的时间。
使用()()匿名自执行函数的好处
1.当你编写插件时,插件的变量名方法名,都不会与其他js方法冲突
2.你可以将匿名自执行函数单独写在一个js文件中,可以像使用dll,jar包等一样去调用它。