javascript匿名函数自执行 (function(window,document,undefined){})(window,document);
程序员文章站
2022-07-02 20:57:59
使用匿名自执行函数的作用: (function(window,document,undefined){})(window,document); 1.首先匿名函数 (function(){}) (); 避免函数体内外变量的冲突(js执行表达式顺序为圆括号里到圆括号外); 2.后面的圆括号中(windo ......
使用匿名自执行函数的作用: (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);
总结:待完善,望补充,不是很理解
上一篇: 移动端,点击之后某个区域后有阴影
下一篇: java 异常捕获小记