Пространство имен в JavaScript



Никогда не интересовались почему все эти многочисленные javascript-библиотеки не перезаписывают функции и методы друг друга, даже когда используются одновременно?

Они стараются быть "дружелюбными соседями" используя:

Javascript NameSpacing

На данный момент использование «пространств имен» не очень распространено в жаваскрипте. Не хочу никого обвинять, ведь большинство использует javascript для базовых проверок и несложного client-side программирования. Но сейчас, когда Веб 2.0 распространяется быстрее чем когда либо, я думаю самое время начать использовать NameSpacing в своем коде. Это критично когда вы пишете библиотеку, которая будет использоваться другими разработчиками. "Пространства имен" исключают проблему дублирования имен функций, например как создание пакетов в Java (packaging) или namespacing в C#.

Создание пространства имен может быть реализовано очень просто, без побочных эффектов и легко читаемым. Я понимаю, что "легкая читаемость" вашего кода во многих случаях не будет являться определяющим фактором. Однако, в общем она принесет много пользы.

Расширение пространства имен

Наверное, самый лучший способ создания обьекта в приложении представлен ниже:

var NameSpaceName = function() {
   return {
      YourMethod1 : function() {
         // your function implementation
      },
      YourMethod2: function() {
         // your function implementation
      },
      YourMethod2: function() {
         // your function implementation
      }

      // you can declare variables and private functions as well!
      var xyz;
      function alertUser()
      {
         alert('Hey Dude!');
      }
   };
}();

Есть много разных способов применять такой подход. Используйте на здоровье!

Оригинал Javascript NS
Перевод 3hrek

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешаю теги: <a> <em> <strong> <pre> <ul> <ol> <li>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.

Подробнее о форматировании

Image CAPTCHA
Регистр символов учитывается.