Javascript 如果全局窗口参数为';它是全球性的

Javascript 如果全局窗口参数为';它是全球性的,javascript,jquery,Javascript,Jquery,我们有一个基本的jQuery脚本,它使用包装器代码,并用传递的全局窗口参数初始化。是否需要传输此参数窗口是一个全局参数,无论是否传输,都可以从函数内部使用它 原因是什么 (function (window, undefined) { var jQuery = (function () { //Define a local copy of jQuery var jQuery = function (selector, context) {

我们有一个基本的
jQuery
脚本,它使用包装器代码,并用传递的全局
窗口
参数初始化。是否需要传输此参数<代码>窗口是一个全局参数,无论是否传输,都可以从函数内部使用它

原因是什么

(function (window, undefined) {
    var jQuery = (function () {

        //Define a local copy of jQuery
        var jQuery = function (selector, context) {
            // The jQuery object is actually just the init constructor 'enhanced'
            return new jQuery.fn.init(selector, context, rootjQuery);
        },  
    //some code
    //...
    //...
    //...

    window.jQuery = window.$ = jQuery;
})(window);

缩小后的文件大小更小


如果您在任何地方都使用
窗口
,则缩微器会将每个引用保留为
窗口
。如果通过闭包传递,缩微器会将其转换为类似
a
,如果
窗口
被多次使用,将节省字节数。

缩小后的文件大小会更小


如果您在任何地方都使用
窗口
,则缩微器会将每个引用保留为
窗口
。如果您通过闭包传递它,minifier会将它转换为类似
a
,如果
窗口
被多次使用,它将节省字节数。

基本上,在(非常频繁的)副本中所说的是,使用全局变量可以缩小其名称。基本上,在(非常常见)重复是指使用全局变量可以缩小其名称。缩小不应该完全删除窗口吗?我的意思是如果您有
window.somevar=2
,并且缩小了
a.somevar=2
(如果a变成了对窗口的引用),在没有var的情况下执行
somevar=2
是同样的事情smaller@TheBrain,否,如果脚本是在严格模式下计算的,那么如果这些全局引用碰巧未定义,它可能会抱怨这些全局引用未定义。缩小不应该完全删除窗口吗?我的意思是如果您有
window.somevar=2
和minif如果a变成了一个参考窗口,那么在没有var的情况下执行
somevar=2
,是同样的事情smaller@TheBrain,否,如果脚本是在严格模式下计算的,那么如果这些全局引用碰巧未定义,它可能会抱怨这些全局引用未定义。