


Framework classification and main functions of javascript framework design_javascript skills
From the perspective of internal architecture and concepts, the current JavaScript framework can be divided into 5 categories.
The first is a namespace-oriented class library or framework . If you create an array, use new Array(), and generate an object, use new Object(), which is completely java style. Therefore, We use a certain object as the base, and constantly add objects and secondary object attributes to it to organize the code, building it up like a pyramid. In the early days, it represented YUI, EXT (so, not all dynamic companies still use them)
The second is a class factory-oriented framework . Famous ones include Prototype, mootools, Base2, and Ten. Basically, except for the most basic namespace, other modules are class objects derived from class factories. In particular, mootools1.3 encapsulates all types into Type types.
The third type is the selector-oriented framework represented by jQuery. The entire framework or library body is a special array-like object, which facilitates centralized operations (because the selector suddenly N element nodes were selected), so they were processed together. There are several great things about jQuery:
"No new instantiation" technology, $(expr) returns an instance, no explicit new is required;
get first set all access rules;
Data caching system. This way you can assign node events.
IIFE was also discovered
The fourth type is the framework connected by loaders. It has multiple javascript files, and each javascript file is written according to fixed rules. Among them, the most famous is AMD. Modularization is a sign that JavaScript is moving toward industrialization. “The only way to write complex software without making it messy is to define clear interfaces and combine several modules. In this way, most problems will only appear locally, so there are still problems.” It is hoped that local improvements and optimizations can be made without affecting the whole body. "Many enterprise internal frameworks basically adopt this architecture, such as Dojo, YUI, Kissy, qwrap, mass, (requirejs, Seajs), etc.
The fifth type is MV* with a clear layered architecture. The first is javascript MVC, (now called Canjs), backbone.js and spinejs, and then the MVVM framework that is more in line with the actual front-end. For example, knockout, emberm, angular, avalon, winjs. In the MVVM framework, the original DOM operations are replaced by declarative binding, which is handled freely by the framework, and the user only focuses on the business code.
Main functions of javascript framework
The module division of the jQuery framework class library is mainly based on the source code on github, which is basically a module and a javascript file. jQuery’s idea of focusing on DOM operations was right from the beginning, and it will continue to improve compatibility in the future. Performance improvements have been made. After years of development, jQuery’s huge plug-ins and complete BUG submission channels have allowed it to continue to improve
Prototype.jsThe early king, it is divided into four parts.
Language extension
DOM extension
Ajax part
The abandoned part, the new version uses other methods to achieve the original functions
Prototype.js has a wide range of language extensions, including basic data types and "classes" borrowed from the language. Among them, Enumerable is just an ordinary method package, while ObjectRange, PeriodicalExecuter, and Templat are produced using the Class class factory (from community contributions).
mootoolsBecause the API design is very elegant and there are many high-quality plug-ins on its official website, it has not declined in the wave of opposition to prototype extensions.
Rightjs: Another framework for prototype extension, MochiKit is a Python-style framework that is very unique and can be ranked among the top ten frameworks.
Ten: The Javascript framework of the famous Japanese blog community Hatena, developed by amachang, influenced by Prototype.js, is the earliest example of a framework named after space; mass Framework: a jQuery-style framework targeting large module development .
After detailed comparison, we can easily draw conclusions about the following framework features
对基本数据的操作是基础,如jQuery提供的trim camelCase each map等方法,Prototype.js等入侵式框架则在原型上添加camelize等方法 类型的判定比不可少,常见的形式是jsXXX系列 选择器,domReady Ajax是现代框架的标配 DOM操作是重中之重,节点的遍历,样式操作,属性操作也属于它的范畴 现在主流的事件系统都支持事件代理 数据的缓存与处理,目前浏览器也支持data-属性进行操作,但不好用,需要框架封装 动画引擎 插件的易开发和扩展性 提供诸如Deferred这样处理异步的解决方案 即使不专门提供一个类工厂,也应该存在一个名为extend或mixin的方法对对象进行扩展。jQuery虽然没有类工厂,但在jQuery UI中也不得不增加一个,可见其重要性。 自从jQuery出来一个名为noConflict的方法,新兴的框架都带此方法,以求狭缝中生存。 许多框架非常重视Cookie操作。
The above is the entire content of this article, I hope you all like it.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Detailed explanation of JavaScript string replacement method and FAQ This article will explore two ways to replace string characters in JavaScript: internal JavaScript code and internal HTML for web pages. Replace string inside JavaScript code The most direct way is to use the replace() method: str = str.replace("find","replace"); This method replaces only the first match. To replace all matches, use a regular expression and add the global flag g: str = str.replace(/fi

Article discusses creating, publishing, and maintaining JavaScript libraries, focusing on planning, development, testing, documentation, and promotion strategies.

The article discusses strategies for optimizing JavaScript performance in browsers, focusing on reducing execution time and minimizing impact on page load speed.

The article discusses effective JavaScript debugging using browser developer tools, focusing on setting breakpoints, using the console, and analyzing performance.

Bring matrix movie effects to your page! This is a cool jQuery plugin based on the famous movie "The Matrix". The plugin simulates the classic green character effects in the movie, and just select a picture and the plugin will convert it into a matrix-style picture filled with numeric characters. Come and try it, it's very interesting! How it works The plugin loads the image onto the canvas and reads the pixel and color values: data = ctx.getImageData(x, y, settings.grainSize, settings.grainSize).data The plugin cleverly reads the rectangular area of the picture and uses jQuery to calculate the average color of each area. Then, use

This article will guide you to create a simple picture carousel using the jQuery library. We will use the bxSlider library, which is built on jQuery and provides many configuration options to set up the carousel. Nowadays, picture carousel has become a must-have feature on the website - one picture is better than a thousand words! After deciding to use the picture carousel, the next question is how to create it. First, you need to collect high-quality, high-resolution pictures. Next, you need to create a picture carousel using HTML and some JavaScript code. There are many libraries on the web that can help you create carousels in different ways. We will use the open source bxSlider library. The bxSlider library supports responsive design, so the carousel built with this library can be adapted to any

Key Points Enhanced structured tagging with JavaScript can significantly improve the accessibility and maintainability of web page content while reducing file size. JavaScript can be effectively used to dynamically add functionality to HTML elements, such as using the cite attribute to automatically insert reference links into block references. Integrating JavaScript with structured tags allows you to create dynamic user interfaces, such as tab panels that do not require page refresh. It is crucial to ensure that JavaScript enhancements do not hinder the basic functionality of web pages; even if JavaScript is disabled, the page should remain functional. Advanced JavaScript technology can be used (

Data sets are extremely essential in building API models and various business processes. This is why importing and exporting CSV is an often-needed functionality.In this tutorial, you will learn how to download and import a CSV file within an Angular
