


Some personal brief summary of front-end optimization, referring to some materials written by others
- Server aspect:
- Improve the quality of your own server, bandwidth, etc. Aspects
- Enable browser cache to reduce http requests
- Enable gzip compression
- Use content distribution network cdn
- html interface
- Css files are placed in the head, and js files are placed at the end of the html. When downloading a certain JS, other tasks are suspended. You need to wait for this JS to be downloaded and executed before downloading other ones
- Inline css is not applicable
- Try to reduce tags as much as possible, and do not use more than one tag. For example, clear floating uses: after
- js lazy loading, asynchronous loading, use defer tag, async="true"
- to reduce dns queries. Every time a file from an external source is referenced, there will be a DNS query, which will generally have an impact on the speed of the first visit to the website
- Avoid 404. Encountering 404 when downloading js is a big problem
- Avoid empty src, such as src=""
- Reduce http requests: image sprite technology, combined with css and js code
- Code aspect
- At the end of the project, a compression tool is used to compress css, js
- The class of css should not be too long, and there must be a clear hierarchical relationship
- Use class when operating styles in js, not in html Inline css and js code
- JS optimization
- String concatenation: using = is less efficient, you can use array join() Methods
- Especially do not use for (in) when using loops. while is more efficient than for (;;)
- Local variables are accessed faster than global variables and should be avoided as much as possible Each operation of global variables
- on DOM elements is relatively expensive, so operate it as little as possible. For example, if there is string splicing in the for loop, and then innerHTML is used to operate, the innerHTML should be placed outside the for loop
- When operating a certain DOM node, store the DOM node in a local variable
- Regarding string traversal, it is preferred to use regular expressions
- Variable type conversion
- Convert numbers into strings ("" )>String()> .toString()>newString()
- Convert string to number parseInt()
- Conversion between floating point and integer Math.floor() or Math.round()
- Using direct variables var a = [] is faster than var a = new Array()
- It is best not to write strings directly when creating DOM nodes, but to call the creatElement() method

The article discusses the HTML <progress> element, its purpose, styling, and differences from the <meter> element. The main focus is on using <progress> for task completion and <meter> for stati

The article discusses the HTML <datalist> element, which enhances forms by providing autocomplete suggestions, improving user experience and reducing errors.Character count: 159

The article discusses the HTML <meter> element, used for displaying scalar or fractional values within a range, and its common applications in web development. It differentiates <meter> from <progress> and ex

The article discusses the viewport meta tag, essential for responsive web design on mobile devices. It explains how proper use ensures optimal content scaling and user interaction, while misuse can lead to design and accessibility issues.

The article discusses using HTML5 form validation attributes like required, pattern, min, max, and length limits to validate user input directly in the browser.

This article explains the HTML5 <time> element for semantic date/time representation. It emphasizes the importance of the datetime attribute for machine readability (ISO 8601 format) alongside human-readable text, boosting accessibilit

The article discusses the <iframe> tag's purpose in embedding external content into webpages, its common uses, security risks, and alternatives like object tags and APIs.

Article discusses best practices for ensuring HTML5 cross-browser compatibility, focusing on feature detection, progressive enhancement, and testing methods.


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

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

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Atom editor mac version download
The most popular open source editor

Dreamweaver CS6
Visual web development tools

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft