Подтвердить что ты не робот

Что означает "JavaScript Namespacing"?

Возможный дубликат:
Jamescript Namespacing

Im довольно новый для JavaScript и задавался вопросом, может ли кто-нибудь дать мне хорошее описание того, что подразумевается под JavaScript Namespacing?

Также любые ресурсы, например. статьи и т.д., очень ценятся по этому вопросу.

4b9b3361

Ответ 1

JavaScript разработан таким образом, что очень легко создавать глобальные переменные, которые могут взаимодействовать отрицательными способами. Практика пространства имен обычно заключается в создании объектного литерала, инкапсулирующего ваши собственные функции и переменные, чтобы не сталкиваться с теми, которые были созданы другими библиотеками:

var MyApplication = {
  var1: someval,
  var2: someval,
  myFunc: function() {
    // do stuff
  }
};

Затем вместо вызова myFunc() глобально он всегда будет вызываться как:

MyApplication.myFunc();

Аналогично, var1 всегда получает доступ как:

console.log(MyApplication.var1);

В этом примере весь наш код приложения был помещен в папку MyApplication. Поэтому гораздо менее вероятно, что наши переменные будут сталкиваться с теми, которые создаются другими библиотеками или создаются DOM.

Ответ 3

Я использую эту технику имен, наряду с "строгостью", обозначенной Crockford

var MyNamespace = (function () {
    "use strict"; 

    function SomeOtherFunction() {

    }

    function Page_Load() {

    }

    return { //Expose 
        Page_Load: Page_Load,
        SomeOtherFunction: SomeOtherFunction
    };
} ());

MyNamespace.Page_Load();

Ответ 4

Прочитайте простой учебник Здесь

Пространство имен используется, чтобы избежать загрязнения глобального пространства имен (без переменных окна). По правде говоря, каждое пространство имен является просто большой переменной, которая имеет много свойств и методов.

Это происходит, потому что в javascript вы можете иметь целые функции (методы) как переменные