使用匿名自实行函数的作用: (function(window,document,undefined){})(window,document);
1.起首匿名函数 (function(){}) (); 制止函数体表里变量的辩说(js实行表达式次序为圆括号里到圆括号外);
2.背面的圆括号中(window,document)的window为实参,接受window对象(window对象是全局情况下的);而function背面的圆括号function(window,document,undefined){}中的window为局部变量,不是全局的window对象。以是这样写可以进步js性能,减少作用域链查询时间.(假如在函数体内多次使用到window对象。把window对象当成实参传进去,是非常须要的;假如函数内部不需要,那么就无需转达该参数.);
3.function背面的形参undefined又有什么用呢?实在在一些老的浏览器中,undefined不被支持,直接使用会导致错误,以是思量兼容性,就增长一个形参undefined;
4.(function() {})()主要用于存放开发插件的代码,实行此中的代码时DOM不一定存在,以是直接自动实行DOM操作的代码,请放心使用;
简化成()(); 表示匿名函数自实行- (function(window,document,undefined) { //do something console.log("我是匿名函数,会自己实行奥!"); })(window,document);
复制代码
总结:待完善,望补充,不是很明确
来源:https://www.cnblogs.com/677a/archive/2019/10/23/11726510.html |