【发布时间】:2015-06-28 03:43:57
【问题描述】:
为什么有些程序员会传入全局 window 对象,我理解这是为了更好的性能和最小化的好处,还有来自完全相同的全局空间 window 的其他依赖对象/函数但通过另一个参数传入?
但是他们也使用来自window 的函数,它们没有显式传入,例如setTimeout()。
(function (dependency1, dependency2, dependency3, dependency4) {
'use strict';
//body
window.setTimeout(function() { // <--
//body
}, 1000);
//etc.
}(window, window.document, window.AjaxRequest, window.util.padNumber)); // <--
使用顶级变体对以下变体有什么好处,基本上仍然可以访问相同的依赖项?
(function (window) {
'use strict';
//body
window.setTimeout(function() {
//body
}, 1000);
//etc.
}(window));
【问题讨论】:
标签: javascript oop dependencies iife