Se for dividido da arquitetura e conceito internos, a estrutura JavaScript poderá ser dividida em 5 categorias.
Tipo 1
O que aparece é uma biblioteca ou estrutura de classe orientada a nome. Por exemplo, se você criar uma matriz, use novo Array () e gerar um objeto com novo objeto (), é completamente o estilo Java. Portanto, podemos usar um objeto como raiz e adicionar constantemente atributos do objeto ou atributos secundários do objeto para organizar o código e empilhá -los como uma pirâmide. Trabalhos representativos como Yui Earl e Ext.
Tipo 2
O que apareceu é uma estrutura orientada para a fábrica, como o famoso protótipo, bem como Mootools, Base2 e Ten. Basicamente, exceto pelo espaço de nome mais básico, outros módulos são objetos de classe derivados das fábricas de classe. Especialmente MooTools 1.3, encapsula todos os tipos em tipos de tipos.
Tipo 3
É uma estrutura orientada a seletor representada pelo jQuery. Toda a estrutura ou corpo da biblioteca é um objeto de matriz de classe especial, que é conveniente para operações de coleta - porque o seletor geralmente seleciona n nós de elementos de uma só vez, por isso é processado juntos. O jQuery contém várias coisas incríveis: a tecnologia "nova instanciação livre", $ (expr) é retornar uma instância sem explicitamente nova; Obtenha primeiro definir todas as regras de acesso: sistema de cache de dados. Dessa forma, os eventos do nó podem ser replicados. Além disso, também foi descoberto o IIFE (expressão de função insuficiente imediatamente).
Tipo 4
É uma estrutura conectada pelos carregadores. Todos eles têm vários arquivos JavaScript, e cada arquivo JavaScript é escrito com regras fixas. O mais famoso deles é a AMD. A modularidade é um sinal de que o JavaScript está se movendo para a industrialização. O primeiro das muitas "regras de ouro" listadas em "Arte de Programação UNIX" são módulos, que diz: "A única maneira de escrever software complexo sem falhas é combinar vários módulos simples com interfaces claramente definidas. Dessa maneira, a maioria dos problemas ocorrerá apenas na área local, e ainda há esperança de melhorar ou otimizar a área local sem afetar todo o corpo". Muitas estruturas internas das empresas adotam basicamente essa arquitetura, como Dojo, Yui, Kissy, Qwrap e Mass.
Tipo 5
É uma estrutura MV* com uma arquitetura hierárquica clara. Primeiro, o JavaScript MVC (agora chamado Canjs), Backbonejs e Spinejs e, em seguida, mais alinhado com as estruturas MVVM de front-end real, como nocaute, Ember, Angular, Avalon e WinJs. Na estrutura do MVVM, as operações originais do DOM são substituídas pela ligação declarativa e são tratadas pela própria estrutura, e os usuários só precisam se concentrar no código comercial.
Abaixo estão as conclusões sobre as características da estrutura.
As operações nos tipos de dados básicas são o básico. Por exemplo, o jQuery fornece métodos como TRIM, CamelCase, cada, mapa, etc. e estruturas invasivas, como o prototype.js, adicionam métodos como camelize aos protótipos.
A determinação do tipo é essencial e a forma comum é a série ISXXX.
Seletores, Domready e Ajax são recursos padrão das estruturas modernas.
As operações DOM são a principal prioridade. A travessia de nós, operações de estilo e operações de atributo também pertence ao seu escopo. Se o subdivide depende do tamanho da estrutura.
Brower Sniff está desatualizado e a detecção de recursos está sendo aplicada. No entanto, a detecção de recursos ainda tem limitações. Se você estiver usando o fungo do navegador para renderizar bugs, políticas de segurança ou correções para certas versões do navegador, ainda é necessário farejar o navegador. Mas deve ser independente como módulo ou plug -in, removendo o núcleo da estrutura.
Agora, os principais sistemas de eventos de eventos suportam o proxy de eventos.
Atualmente, o cache de dados e o processamento são fornecidos pelo navegador para fornecer atributos de dados* para este trabalho, mas eles não são fáceis de usar e exigem um encapsulamento adicional da estrutura.
Motor de animação, a menos que sua estrutura tenha uma estrutura de animação de alto nível como script.aculo.us como apoio, é melhor adicioná-lo.
Fácil de desenvolver e extensível plug-ins.
Fornece soluções para lidar com processos assíncronos como diferidos.
Mesmo que uma fábrica de classe não seja fornecida especificamente, deve haver um método chamado Extend ou Mixin para estender o objeto. Embora o jQuery não tenha uma fábrica de classe, é preciso ser adicionado na interface do usuário do jQuery, o que mostra sua importância.
Desde que a JQuery saiu com um método chamado Noconflict, as estruturas emergentes trouxeram esse método para sobreviver na fenda.
Muitas estruturas colocam grande ênfase nas operações de biscoitos.