S'il est divisé à partir de l'architecture et du concept internes, le cadre JavaScript peut être divisé en 5 catégories.
Type 1
Ce qui apparaît est une bibliothèque ou un cadre de classe axé sur l'espace de noms. Par exemple, si vous créez un tableau, utilisez un nouveau array () et générez un objet avec un nouveau objet (), il s'agit complètement de style Java. Par conséquent, nous pouvons utiliser un objet comme racine et ajouter constamment des attributs d'objet ou des attributs d'objets secondaires pour organiser le code et les empiler comme une pyramide. Des œuvres représentatives telles que les premiers YUI et EXT.
Type 2
Ce qui est apparu est un cadre axé sur l'usine, comme le célèbre prototype, ainsi que Mootools, Base2 et Ten. Fondamentalement, à l'exception de l'espace de noms le plus basique, d'autres modules sont des objets de classe dérivés des usines de classe. Surtout Mootools 1.3, résume tous les types en types de types.
Type 3
Il s'agit d'un cadre orienté sélecteur représenté par jQuery. L'ensemble du framework ou du corps de la bibliothèque est un objet de tableau de classe spéciale, ce qui est pratique pour les opérations de collecte - car le sélecteur sélectionne généralement les nœuds d'élément à la fois, il est donc traité ensemble. JQuery contient plusieurs choses incroyables: la technologie "nouvelle instanciation libre", $ (EXPR) doit renvoyer une instance sans explicitement nouvelle; Obtenez d'abord toutes les règles d'accès: Système de mise en cache de données. De cette façon, les événements du nœud peuvent être reproduits. De plus, IIFE (expression de fonction immédiatement invoquée) a également été découverte.
Type 4
Il s'agit d'un cadre connecté par les chargeurs. Ils ont tous plusieurs fichiers JavaScript, et chaque fichier JavaScript est écrit avec des règles fixes. Le plus célèbre d'entre eux est AMD. La modularité est un signe que JavaScript se dirige vers l'industrialisation. La première des nombreuses "règles d'or" répertoriées dans "Unix Programming Art" est les modules, qui indiquent - "La seule façon d'écrire des logiciels complexes sans faute est de combiner plusieurs modules simples avec des interfaces clairement définies. De cette façon, la plupart des problèmes ne se produiront que dans la zone locale, et il y a toujours de l'espoir d'améliorer ou d'optimiser la zone locale sans affecter tout le corps." De nombreux cadres internes d'entreprises adoptent essentiellement cette architecture, comme Dojo, Yui, Kissy, Qwrap et Mass.
Type 5
Il s'agit d'un cadre MV * avec une architecture hiérarchique claire. Tout d'abord, JavaScript MVC (maintenant appelé Canjs), BackboneJS et Spinejs, puis plus conformément aux cadres MVVM frontaux, tels que Knockout, Ember, Angular, Avalon et Winjs. Dans le cadre MVVM, les opérations DOM d'origine sont remplacées par la liaison déclarative et sont gérées par le cadre lui-même, et les utilisateurs n'ont qu'à se concentrer sur le code métier.
Vous trouverez ci-dessous des conclusions sur les caractéristiques du cadre.
Les opérations sur les types de données de base sont les bases. Par exemple, jQuery fournit des méthodes telles que la garniture, le camelcase, chacun, la carte, etc., et les cadres invasifs tels que Prototype.js ajoutent des méthodes telles que le camélize aux prototypes.
La détermination du type est essentielle et la forme commune est la série ISXXX.
Les sélecteurs, Domready et Ajax sont des caractéristiques standard des cadres modernes.
Les opérations DOM sont la priorité absolue. La traversée des nœuds, des opérations de style et des opérations d'attribut appartiennent également à sa portée. La question de subdiviser dépend de la taille du cadre.
Brower Sniff est obsolète et la détection des fonctionnalités est appliquée. Cependant, la détection des fonctionnalités a toujours des limites. Si vous utilisez du reniflement du navigateur pour rendre les bogues, les politiques de sécurité ou les corrections à certaines versions du navigateur, le reniflement du navigateur est toujours requis. Mais il doit être indépendant en tant que module ou plugin, en supprimant le cœur du cadre.
Maintenant, les systèmes d'événements grand public prennent en charge la proxyme des événements.
Le cache de données et le traitement sont actuellement fournis par le navigateur pour fournir des attributs de données * pour ce travail, mais ils ne sont pas faciles à utiliser et nécessitent une encapsulation supplémentaire du cadre.
Le moteur d'animation, à moins que votre framework ait un cadre d'animation de premier ordre comme Script.aculo.us comme support, il est préférable de l'ajouter.
Des plug-ins faciles à développer et extensibles.
Fournit des solutions pour gérer les processus asynchrones tels que différé.
Même si une usine de classe n'est pas spécifiquement fournie, il devrait y avoir une méthode appelée Extende ou Mixin pour étendre l'objet. Bien que JQuery n'ait pas d'usine de classe, il faut ajouter dans l'interface utilisateur de JQuery, ce qui montre son importance.
Depuis que JQuery est sorti avec une méthode appelée Noconflict, les cadres émergents ont tous apporté cette méthode pour survivre dans la fente.
De nombreux cadres mettent en place sur les opérations des cookies.