这是一个自动执行匿名方法.
将窗口作为全局传递似乎是一种好习惯.如果窗口随处可用,为什么要这样做?
(function (global) {
/* my code */
global["someName"] = someObject;
})(window);
Run Code Online (Sandbox Code Playgroud)
它跳过了必须进行范围查找的代码,因为它global是作用于函数内部的.
编辑 - 这是一项性能优化.javascript中的范围仅限于函数范围. global在这种情况下,正在该范围内定义,因此当代码命中时,global[...]它会查看它的直接范围(在函数内)并立即找到global.如果没有它,它将不得不移动到闭包范围,在这种情况下是全局javascript命名空间,并搜索整个范围window.
| 归档时间: |
|
| 查看次数: |
1191 次 |
| 最近记录: |