Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery限制全局命名空间_Jquery_Javascript Namespaces - Fatal编程技术网

jQuery限制全局命名空间

jQuery限制全局命名空间,jquery,javascript-namespaces,Jquery,Javascript Namespaces,目前,我将所有JavaScript函数都放在一个函数中,这样我就不会污染全局名称空间 e、 g 现在我想使用jQuery,因此我希望将其包装在以下内容中: (function (window, document, $) { ... }(window, document, jQuery)); 我已经尝试在jQuery函数中包装var App=function(){},但是当我在App上设置AJAX属性时,这会导致问题。有什么想法吗?这个怎么样: var App = function(win

目前,我将所有JavaScript函数都放在一个函数中,这样我就不会污染全局名称空间

e、 g

现在我想使用jQuery,因此我希望将其包装在以下内容中:

(function (window, document, $) {
   ...
}(window, document, jQuery));
我已经尝试在jQuery函数中包装var App=function(){},但是当我在App上设置AJAX属性时,这会导致问题。有什么想法吗?

这个怎么样:

var App = function(window, document, $) {

      function a() {
      }

      return {};

}(window, document, jQuery);
这个怎么样:

var App = function(window, document, $) {

      function a() {
      }

      return {};

}(window, document, jQuery);

您无需使用单独的匿名函数,只需将
窗口
文档
jQuery
直接传递到应用程序:

var App = function(window, document, $) {
    function a() {
    }
}(window, document, jQuery);
或者,您可以在全局命名空间中声明
App
,但在jQuery闭包中定义它,如下所示:

var App = null;

(function (window, document, $) {
    App = function() {
        function a() {
        }
    };
}(window, document, jQuery));

请注意,在这两个示例中,我都删除了
返回{}
,在第二个示例中,我将函数设置为非自调用。结构的这一部分看起来像是复制粘贴的积垢,没有必要。

您可以直接将
窗口
文档
jQuery
传递到应用程序:

var App = function(window, document, $) {
    function a() {
    }
}(window, document, jQuery);
或者,您可以在全局命名空间中声明
App
,但在jQuery闭包中定义它,如下所示:

var App = null;

(function (window, document, $) {
    App = function() {
        function a() {
        }
    };
}(window, document, jQuery));
请注意,在这两个示例中,我都删除了
返回{}
,在第二个示例中,我将函数设置为非自调用。结构的这一部分看起来像是复制粘贴的积垢,没有必要