JQuery命名空间是一个好习惯吗?

时间:2011-06-30 16:00:04

标签: jquery namespaces

任何人都可以向我解释,如果使用命名空间是一个很好的编码实践。为什么需要呢?如果这是一个很好的方法,为什么JQuery默认不包含它。有一个单独的插件可以实现此功能。

我看到这个post提到了很少的方法。有人提到有关内存泄漏的帖子令人担忧。

最后,组织JQuery库的最佳方法是什么?

感谢,

3 个答案:

答案 0 :(得分:20)

备注:

  • 命名空间是一种很好的做法,因为您与其他脚本名称冲突的可能性较小。这样,只有您的名称空间必须是唯一的,但多个名称空间可以具有相同的名称空间功能于其中。
  • jQuery使用命名空间,您不需要插件。 jQuery对象本身就是一个名称空间。 。 。 jQuery中的任何函数都是jQuery对象中的“名称间隔”。这适用于任何JavaScript对象。

回应Amir的评论:

YUI通过向YUI对象添加变量来实现命名空间,其中添加的变量也是对象。他们的命名空间功能只是为你构建它。

var lib = {
    util:{},
    widget:{},
    tool:{}
};

//creates a function named reset in the lib.util namespace
lib.util.reset = function() {};

//creates a function named reset in the lib.widget namespace
lib.widget.reset = function() {};

在jQuery中,如果对jQuery()命名空间使用jQuery.fn,则将其添加到$.fn(或$

答案 1 :(得分:3)

Re:组织jQuery库的最佳方法,您应该首先阅读jquery.com上的插件编写文章:

http://docs.jquery.com/Plugins/Authoring

答案 2 :(得分:0)

require.js是一种更好的做法,因为它不需要您不必要地将对象添加到窗口对象上。这也并不意味着你必须担心以前的javascript文件的加载顺序。