Недавно я реконструировал вещи и столкнулся с настройками пространства имен. Я искал некоторые знания, спросил некоторых экспертов и записал свой опыт.
Я полагаю, что все знают, что окно является первоклассным, поэтому я не буду писать окно здесь, поэтому я сначала проигнорирую его
1: около вершины
Кода кода следующая: var ns = ns || {};
Видно, что если вы обнаружите, что такого объекта нет, вы автоматически создаете новый объект (); Если есть, вы будете использовать этот объект напрямую, чтобы он не был перезаписан.
2: Второй уровень , конечно, вы также можете создать второй уровень под NS верхнего уровня, то есть
Кода кода следующая: ns.moduleclass = {};
Вы можете видеть, что класс создан в NS, и, конечно, вы можете продолжать создавать методы в классе, то есть это:
Кода кода выглядит следующим образом: ns.moduleclass.method1 = function () {////};
3: Как делать многоуровневые , такие как com.qw.view. Я хочу установить его в пространство имен. Это требует установки пространства имен для каждого имени, разделенного точкой, и установить его в объект.
Давайте посмотрим на пример и поставим его под окном:
Кода -копия выглядит следующим образом:
Пространство имен функций (sspace) {
var arr = sspace.split ('.'), i = 0, namei;
var root = window;
for (; namei = arr [i ++];) {
if (! root [namei]) {
root [namei] = {};
}
root = root [namei];
}
вернуть корень;
}
Вы можете видеть, что это действительно то, что я упоминал выше. Я использовал обход, чтобы установить все разделенные в объекты, чтобы каждый разделен мог использовать отдельно.
4: Перечислите обще используемые , простые и быстрые советы для настройки имен.
Кода -копия выглядит следующим образом:
if (! window.ns) {
window.ns = {};
}
var ns;
if (typeof ns == "не определен") {
ns = {};
}
if (typeof ns.classname == "undefined") {
ns.classname = {};
}