关于(function( window, undefined ) {})(window)写法的理解
来源:互联网 发布:腾讯数据nba 编辑:程序博客网 时间:2024/06/13 00:45
(function( window, undefined ) {})(window);
这个,为什么要将window和undefined作为参数传给它?
(function( $, undefined ) {})(jQuery); 同理
因为 ecmascript 执行JS代码是从里到外,因此把全局变量window或jQuery对象传进来,就避免了到外层去寻找,提高效率。undefined在老一辈的浏览器是不被支持的,直接使用会报错,js框架要考虑到兼容性,因此增加一个形参undefined。
还有,不要用window.undefined传递给形参,有可能window.undefined被其他人修改了,最好就是甚么都不传,形参的undefined就是真正的undefined了。
Js代码 :
<span style="font-size:14px;">var undefined = 8; (function( window ) { alert(window.undefined); // 8 alert(undefined); // 8 })(window); </span>与
<span style="font-size:14px;">var undefined = 8; (function( window, undefined ) { alert(window.undefined); // 8 alert(undefined); // 此处undefined参数为局部的名称为undefined变量,值为undefined })(window); </span>
区分上述两种方式:第一种每个语句都要去找一次window。第二种将window作为参数传递过去,是的不要每个语句都去找window,应该是提高了效率。 所以后者,就算外面的人把 undefined 定义了,里面的 undefined 依然不受影响。大概是为了最大程度防止外界的变量定义对所做封装的内部造成影响吧。
0 0
- JS 关于(function( window, undefined ) {})(window)写法的理解
- JS中关于(function( window, undefined ) {})(window)写法的理解
- 关于(function( window, undefined ) {})(window)写法的理解
- 关于(function( window, undefined ) {})(window)写法的理解
- JS 关于(function( window, undefined ) {})(window)写法的理解
- JS 关于(function( window, undefined ) {})(window)写法的理解
- JS 关于(function( window, undefined ) {})(window)写法的理解
- 前段百科---JS中形如(function(window, undefined) {})(window)写法的理解
- 有关window.undefined=window.undefined写法的理解
- (function (window, undefined){})(window)
- jQuery 1.4.4 中 function( window, undefined ) 写法原因(function( window, undefined ) {})(window);
- query 中 (function( window, undefined ) {})(window)写法详解(转)
- jquery 中 (function( window, undefined ) {})(window)写法详解(转)
- 有关window.undefined=window.undefined写法的理解(Ext2学习总结)
- JS 关于(function(w) {...})(window)写法的理解——立即执行函数
- (function (window, undefined){})(window)
- function( window, undefined )含义
- jquery插件开发2之function( $, window, document, undefined ){}的理解
- C/C++新建注册表项【代码示例】
- STL源码—stack,queue
- C# - 递归删除某一路径下的所有文件和文件夹
- ant入门指南(1)
- ios 各种控件默认高度(图示)
- 关于(function( window, undefined ) {})(window)写法的理解
- Apache 2 移植到Arm开发板
- 使用waveIn进行录音
- HTTP请求流程
- Apache Commons-logging+log4j配置
- 慎用 WaitHandle.WaitOne(TimeSpan/int/long)
- 设计模式C++学习笔记之十四(Iterator迭代器模式)
- 【wkhtmltopdf】关于页面打印pdf
- SQLite3