Более одного пространства имен javascript? - PullRequest
2 голосов
/ 25 февраля 2012

Мне было интересно, есть ли какие-либо проблемы с производительностью при использовании только одного пространства имен или лучше назначить более одного?

Под этим я подразумеваю

(function (myApp, $, undefined) {

} (window.myApp = window.myApp || {}, jQuery));

И присваивать каждую функцию / объект / свойство пространству имен myApp или более эффективно с точки зрения производительности иметь myApp для общих функций и т. Д., А затем

(function (myAppSettings, $, undefined) {

} (window.myAppSettings = window.myAppSettings || {}, jQuery));

И так далее?

Редактировать : чтобы уточнить общий settings до myAppSettings за очень правильный комментарий @pimvdb

Ответы [ 2 ]

1 голос
/ 25 февраля 2012

Как правило, мелкое дерево лучше глубокого дерева (цитата отсюда ). Таким образом, в зависимости от обстоятельств, может лучше использовать более одного пространства имен. В цитируемой статье утверждается, что единое пространство имен незначительно с точки зрения производительности.

0 голосов
/ 25 февраля 2012

Я не думаю, что есть какая-то разница с точки зрения производительности.Получение свойства объекта - это O (1) в современных реализациях.

Но имя типа settings настолько универсально, что лучше не связывать его с другой библиотекой settings.Поскольку эти параметры являются частью myApp, наиболее целесообразно (и это наиболее безопасно) поместить его в объект myApp.

Если каждая библиотека будет устанавливать window.settings, это будетбольшая проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...