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

Ami*_*mir 6 jquery namespaces

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

我看到这篇文章提到了很少的方法.有人提到有关内存泄漏的帖子令人担忧.

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

谢谢,

Lev*_*son 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() {};
Run Code Online (Sandbox Code Playgroud)

在jQuery中,您将它添加到jQuery.fn(或者$.fn如果您$用于jQuery()命名空间.