JavaScript can not only write front-end, it can also write back-end; JavaScript can use Node.js to achieve back-end development. Node.js is a development platform that allows JavaScript to run on the server. It is an event-driven "I/O" server-side JavaScript environment. Node.js can be understood as JavaScript running on the server, so JavaScript can be written on the backend.
The operating environment of this tutorial: windows7 system, javascript version 1.8.5, Dell G3 computer.
JavaScript can not only write the front end, it can also write the back end.
JavaScript can achieve back-end development through Node.js technology. Node.js is a development platform that allows JavaScript to run on the server. It allows JavaScript to become a service with PHP, Python, Perl, Ruby, etc. A scripting language on par with terminal languages.
Node.js allows js to run on the server side, and uses the Google v8 engine to bring about a performance leap, making its performance almost close to that of the go language. The asynchronous programming method allows it to handle huge concurrency. But it now also has the following shortcomings:
There is no highly unified development method like the Spring framework of Java; The ecology is not perfect enough. As a front-end developer who wants to develop the backend, you may be embarrassed by yourself first. But in fact, for small and medium-sized systems, the most important thing to develop a backend is to be familiar with "SQL". As long as you master this, you will be able to get started with backend development. Because everything else is prepared for you by the framework.
Selection of framework
The node frameworks currently used for back-end development are:
- egg
- express
- koa
- nest
- . . .
So how should we choose? A good way is to look at the start of github. Then we compared the start of koa which is the most popular. However, the author here recommends everyone to use egg for the following reasons:
- Developed by Alibaba Financial Services, maintenance and upgrade iterations are guaranteed;
- The bottom layer is based on koa;
- Deployment You can easily use multi-core to squeeze server performance when serving;
- Rich plug-ins are available for you to choose from, and you can also customize your own plug-ins;
- Not recommended for small and medium-sized systems If you use a springboot-like framework like nest, it is better to use springboot directly to be more complete, sound and stable;
javascript Things you must know before writing the backend
Node breaks the bottleneck that JS can only develop front-end, and truly realizes the feat of those who master JS conquering the world! However, doing back-end is much more rigorous than doing front-end, so you must be aware of some "BUGs" in the JS language. Don't let the data go wrong and you'll be completely confused.
The following are examples of some common problems in JS data processing, as well as solutions! Help everyone consolidate the foundation of JS and avoid detours in work.
1. The problem of floating point data losing precision:
Floating point type is divided into single precision floating point type (float)andDouble precision floating point type (double) , which is described in detail in strongly typed languages (C, JAVA), is collectively called Number type (Number) in JS. Interested readers can learn relevant knowledge. This article continues to return to the above questions.
First look at the performance of the loss of accuracy problem. The source code is as follows:
console.log(0.1+0.2); //0.30000000000000004
The result should be 0.3, but the running result appears A confusing question. This is absolutely not allowed in back-end development. This problem does not only appear in JS. After testing, this problem exists in JAVA and PHP, but does not exist in C. Why haven’t I learned any other languages? I don’t know why!
After talking about the problem, let’s talk about the solution. The source code is as follows:
const floatAdd = (arg1, arg2) => { let r1,r2,m; try { r1 = arg1.toString().split(".")[1].length; } catch(e) { r1 = 0; } try { r2 = arg2.toString().split(".")[1].length; } catch(e) { r2 = 0; } m =Math.pow(10,Math.max(r1,r2)); return (arg1*m+arg2*m)/m; }; console.log(floatAdd(0.1,0.2)); // 0.3
Fortunately, through the above code, we got the correct result we wanted, but JS left us with problems It’s not over yet, please see the following questions
2. The rounding bug of toFixed():
This question is still related to the previous question "Floating point" data. See the sample code below:##toFixed() The method uses fixed point notation to format a numeric value. To put it simply, it is the process of rounding the data, and the fixed point represents the number of decimal places to be retained.
let a=1.115; console.log(a.toFixed(2)) //1.11Fortunately, the editor is good at primary school mathematics and seems to have been a mathematics class representative for several years. (with a burst of joy), I can tell at a glance that the correct answer should be
1.12. The clever editor is trying hard to find ways to circumvent the pitfalls. Please see the source code:
const newToFixed=(value,length)=>{ let tempNum = 0; let s,temp; let s1 = value + ""; let start = s1.indexOf("."); if(s1.substr(start+length+1,1)>=5){ tempNum=1; } temp = Math.pow(10,length); s = Math.floor(value * temp) + tempNum; return s/temp; } console.log(newToFixed(1.115,2)) //1.12When developing back-end applications using JS, you must pay attention to these data anomalies. For more questions, readers are invited to study on their own.
Tens of millions of lines of code, the first basic line. The foundation is not solid, and I will shed tears from now on.
Note: The code example uses the ECMAScript 2015 version syntax. If you have compatibility requirements, don’t forget to modify the source code.Tens of millions of lines of code are compatible with the first line. Compatible or not, I shed tears in the first two lines.
[Related recommendations: web front-end development]
The above is the detailed content of Can JavaScript only be used to write front-end?. For more information, please follow other related articles on the PHP Chinese website!

React is a JavaScript library for building modern front-end applications. 1. It uses componentized and virtual DOM to optimize performance. 2. Components use JSX to define, state and attributes to manage data. 3. Hooks simplify life cycle management. 4. Use ContextAPI to manage global status. 5. Common errors require debugging status updates and life cycles. 6. Optimization techniques include Memoization, code splitting and virtual scrolling.

React's future will focus on the ultimate in component development, performance optimization and deep integration with other technology stacks. 1) React will further simplify the creation and management of components and promote the ultimate in component development. 2) Performance optimization will become the focus, especially in large applications. 3) React will be deeply integrated with technologies such as GraphQL and TypeScript to improve the development experience.

React is a JavaScript library for building user interfaces. Its core idea is to build UI through componentization. 1. Components are the basic unit of React, encapsulating UI logic and styles. 2. Virtual DOM and state management are the key to component work, and state is updated through setState. 3. The life cycle includes three stages: mount, update and uninstall. The performance can be optimized using reasonably. 4. Use useState and ContextAPI to manage state, improve component reusability and global state management. 5. Common errors include improper status updates and performance issues, which can be debugged through ReactDevTools. 6. Performance optimization suggestions include using memo, avoiding unnecessary re-rendering, and using us

Using HTML to render components and data in React can be achieved through the following steps: Using JSX syntax: React uses JSX syntax to embed HTML structures into JavaScript code, and operates the DOM after compilation. Components are combined with HTML: React components pass data through props and dynamically generate HTML content, such as. Data flow management: React's data flow is one-way, passed from the parent component to the child component, ensuring that the data flow is controllable, such as App components passing name to Greeting. Basic usage example: Use map function to render a list, you need to add a key attribute, such as rendering a fruit list. Advanced usage example: Use the useState hook to manage state and implement dynamics

React is the preferred tool for building single-page applications (SPAs) because it provides efficient and flexible ways to build user interfaces. 1) Component development: Split complex UI into independent and reusable parts to improve maintainability and reusability. 2) Virtual DOM: Optimize rendering performance by comparing the differences between virtual DOM and actual DOM. 3) State management: manage data flow through state and attributes to ensure data consistency and predictability.

React is a JavaScript library developed by Meta for building user interfaces, with its core being component development and virtual DOM technology. 1. Component and state management: React manages state through components (functions or classes) and Hooks (such as useState), improving code reusability and maintenance. 2. Virtual DOM and performance optimization: Through virtual DOM, React efficiently updates the real DOM to improve performance. 3. Life cycle and Hooks: Hooks (such as useEffect) allow function components to manage life cycles and perform side-effect operations. 4. Usage example: From basic HelloWorld components to advanced global state management (useContext and

The React ecosystem includes state management libraries (such as Redux), routing libraries (such as ReactRouter), UI component libraries (such as Material-UI), testing tools (such as Jest), and building tools (such as Webpack). These tools work together to help developers develop and maintain applications efficiently, improve code quality and development efficiency.

React is a JavaScript library developed by Facebook for building user interfaces. 1. It adopts componentized and virtual DOM technology to improve the efficiency and performance of UI development. 2. The core concepts of React include componentization, state management (such as useState and useEffect) and the working principle of virtual DOM. 3. In practical applications, React supports from basic component rendering to advanced asynchronous data processing. 4. Common errors such as forgetting to add key attributes or incorrect status updates can be debugged through ReactDevTools and logs. 5. Performance optimization and best practices include using React.memo, code segmentation and keeping code readable and maintaining dependability


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

SublimeText3 Linux new version
SublimeText3 Linux latest version

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

SublimeText3 English version
Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.