Если он разделен от внутренней архитектуры и концепции, структура JavaScript может быть разделена на 5 категорий.
Тип 1
То, что появляется,-это библиотека класса, ориентированная на имена, или фреймворк. Например, если вы создаете массив, используйте New Array () и генерируйте объект с новым объектом (), это полностью стиль Java. Следовательно, мы можем использовать объект в качестве корня и постоянно добавлять атрибуты объекта или атрибуты вторичных объектов, чтобы организовать код и складывать их как пирамида. Репрезентативные работы, такие как ранний юи и доб.
Тип 2
То, что появилось,-это заводская структура, такая как знаменитый прототип, а также мутоусы, Base2 и Ten. По сути, за исключением самого основного пространства имен, другие модули - это объекты класса, полученные на классных фабриках. Особенно Mootools 1.3, инкапсулирует все типы в типы типов.
Тип 3
Это селекторная структура, представленная JQuery. Весь фреймворк или корпус библиотеки представляют собой объект массива специального класса, который удобен для операций сбора - потому что селектор обычно выбирает n -узлы одновременно, поэтому он обрабатывается вместе. jQuery содержит несколько удивительных вещей: технология «Новая бесплатная экземпляра», $ (expr), чтобы вернуть экземпляр без явного нового; Получите сначала установите все правила доступа: система кэширования данных. Таким образом, события узла могут быть воспроизведены. Кроме того, также была обнаружена IIFE (экспрессия функции сразу внедренной).
Тип 4
Это структура, соединенная погрузчиками. Все они имеют несколько файлов JavaScript, и каждый файл JavaScript записывается с фиксированными правилами. Самым известным из них является AMD. Модульность является признаком того, что JavaScript движется к индустриализации. Первым из многих «Золотых правил», перечисленных в «Art Art Unix Programming Art», являются модули, в котором говорится: «Единственный способ написать сложное программное обеспечение - это совместно сочетать несколько простых модулей с четко определенными интерфейсами. Таким образом, большинство проблем возникнут только в локальной области, и все еще есть надежда улучшить или оптимизировать локальную область, не влияя на весь организм». Многие внутренние рамки предприятий в основном принимают эту архитектуру, такую как додзё, Юи, поцелуй, QWRAP и MASS.
Тип 5
Это структура MV* с четкой иерархической архитектурой. Во-первых, JavaScript MVC (теперь называется Canjs), Backbonejs и SpineJS, а затем в более подробном соответствии с фактическими фронтальными фреймворками MVVM, такими как нокаут, эмбер, угловой, авалон и Winjs. В структуре MVVM исходные операции DOM заменяются декларативной привязкой и обрабатываются самой структурой, и пользователи должны сосредоточиться только на бизнес -коде.
Ниже приведены выводы о характеристиках структуры.
Операции по основным типам данных являются основы. Например, jQuery предоставляет такие методы, как TRIM, Camelcase, каждая, карта и т. Д., А инвазивные рамки, такие как Prototype.js, добавляют такие методы, как Camelize, в прототипы.
Определение типа необходимо, и общей формой является серия ISXXX.
Селекторы, Domready и Ajax являются стандартными функциями современных фреймворков.
Операции DOM являются главным приоритетом. Тровяние узлов, операций стиля и операций атрибутов также принадлежат к его масштабам. Находясь ли подразделение, зависит от размера структуры.
Brower Sniff устарел, а обнаружение функции применяется. Тем не менее, обнаружение функций все еще имеет ограничения. Если вы используете браузер, нюхание для отображения ошибок, политик безопасности или исправлений в определенных версиях браузера, все еще требуется обнюхивание браузера. Но он должен быть независимым как модуль или плагин, удаляя ядро каркаса.
Теперь основные системы событий поддерживают события.
Кэш данных и обработка в настоящее время предоставляются браузером для предоставления атрибутов Data-* для этой работы, но их не прост в использовании и требуют дальнейшей инкапсуляции структуры.
Анимационный двигатель, если только ваша структура не имеет первоклассной анимационной структуры, такой как Script.aculo.us в качестве поддержки, лучше добавить его.
Легко разрабатывать и расширить плагины.
Обеспечивает решения для обработки асинхронных процессов, таких как отсроченные.
Даже если классовая фабрика конкретно не предоставлена, должен быть метод, который называется Extend или Mixin для расширения объекта. Хотя jQuery не имеет классовой фабрики, нужно добавлять в пользовательский интерфейс jQuery, что показывает его важность.
Поскольку jQuery выпустил метод, называемый NoConflict, все развивающиеся рамки привели этот метод, чтобы выжить в щеле.
Многие рамки уделяют большое внимание операциям Cookie.