Является ли пространство имен JQuery хорошей практикой? - PullRequest
6 голосов
/ 30 июня 2011

Может кто-нибудь объяснить мне, пожалуйста, что если использование пространства имен является хорошей практикой кодирования. И зачем это нужно? Если это был хороший подход, почему JQuery не включил его по умолчанию. Существует отдельный плагин, чтобы разрешить эту функцию.

Я видел этот пост , в котором упоминается несколько способов сделать это. Кто-то упомянул об утечке памяти в посте, который вызывает беспокойство.

И, наконец, как лучше организовать библиотеки JQuery?

спасибо,

Ответы [ 3 ]

20 голосов
/ 30 июня 2011

Примечания:

  • Пространство имен - это хорошая практика, поскольку у вас меньше шансов конфликтовать с другими сценариями. Таким образом, только ваше пространство имен должно быть уникальным, но несколько пространств имен могут иметь одинаковые функции в них.
  • jQuery использует пространство имен, и вам не нужен плагин. Сам объект jQuery является пространством имен. , , Любая функция внутри jQuery является «пространственно-пространственной» в объекте jQuery. Это верно для любого объекта JavaScript.

В ответ на комментарий Амира:

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.fn (или $.fn, если используете $ для пространства имен jQuery ().

3 голосов
/ 30 июня 2011

Re: лучшие способы организации библиотек jQuery, вы должны начать с чтения статьи по разработке плагинов на jquery.com:

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

0 голосов
/ 19 марта 2014

require.js - лучшая практика, поскольку она не требует от вас добавления объектов в объект окна без необходимости. Это также не означает, что вам нужно беспокоиться о порядке загрузки предыдущих файлов JavaScript.

...