


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.

The future trends of Python and JavaScript include: 1. Python will consolidate its position in the fields of scientific computing and AI, 2. JavaScript will promote the development of web technology, 3. Cross-platform development will become a hot topic, and 4. Performance optimization will be the focus. Both will continue to expand application scenarios in their respective fields and make more breakthroughs in performance.

Both Python and JavaScript's choices in development environments are important. 1) Python's development environment includes PyCharm, JupyterNotebook and Anaconda, which are suitable for data science and rapid prototyping. 2) The development environment of JavaScript includes Node.js, VSCode and Webpack, which are suitable for front-end and back-end development. Choosing the right tools according to project needs can improve development efficiency and project success rate.

Yes, the engine core of JavaScript is written in C. 1) The C language provides efficient performance and underlying control, which is suitable for the development of JavaScript engine. 2) Taking the V8 engine as an example, its core is written in C, combining the efficiency and object-oriented characteristics of C. 3) The working principle of the JavaScript engine includes parsing, compiling and execution, and the C language plays a key role in these processes.

JavaScript is at the heart of modern websites because it enhances the interactivity and dynamicity of web pages. 1) It allows to change content without refreshing the page, 2) manipulate web pages through DOMAPI, 3) support complex interactive effects such as animation and drag-and-drop, 4) optimize performance and best practices to improve user experience.

C and JavaScript achieve interoperability through WebAssembly. 1) C code is compiled into WebAssembly module and introduced into JavaScript environment to enhance computing power. 2) In game development, C handles physics engines and graphics rendering, and JavaScript is responsible for game logic and user interface.

JavaScript is widely used in websites, mobile applications, desktop applications and server-side programming. 1) In website development, JavaScript operates DOM together with HTML and CSS to achieve dynamic effects and supports frameworks such as jQuery and React. 2) Through ReactNative and Ionic, JavaScript is used to develop cross-platform mobile applications. 3) The Electron framework enables JavaScript to build desktop applications. 4) Node.js allows JavaScript to run on the server side and supports high concurrent requests.

Python is more suitable for data science and automation, while JavaScript is more suitable for front-end and full-stack development. 1. Python performs well in data science and machine learning, using libraries such as NumPy and Pandas for data processing and modeling. 2. Python is concise and efficient in automation and scripting. 3. JavaScript is indispensable in front-end development and is used to build dynamic web pages and single-page applications. 4. JavaScript plays a role in back-end development through Node.js and supports full-stack development.

C and C play a vital role in the JavaScript engine, mainly used to implement interpreters and JIT compilers. 1) C is used to parse JavaScript source code and generate an abstract syntax tree. 2) C is responsible for generating and executing bytecode. 3) C implements the JIT compiler, optimizes and compiles hot-spot code at runtime, and significantly improves the execution efficiency of JavaScript.


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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver CS6
Visual web development tools

SublimeText3 Chinese version
Chinese version, very easy to use

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software
