The impression JS gives to beginners is always so "miscellaneous and messy". I believe many beginners are looking for ways to learn JS easily. Here I would like to summarize some experiences of learning JS for you, hoping to find an "easy way to learn JS" for future learners.
The reason why Js gives people that feeling is mostly because of its following characteristics:
A: The knowledge itself is very abstract and obscure, such as: closures, built-in objects, DOM.
B: It contains a lot of content, such as function libraries and object libraries.
C: Mixing various programming ideas. It not only involves process-oriented programming ideas, but also object-oriented programming ideas. At the same time, its object-orientation is also different from other programming languages (such as: C++, JAVA, PHP). It's like it's new again, making you doubt the object-oriented knowledge you once learned...
D: After studying hard, it seems to be out of touch with practical applications. Usually after studying the basics of JS for a long time, you know a little bit about variables, functions, and objects, but when it comes to company development projects, it is difficult to get started. Because companies usually directly use its derivative libraries when developing actual projects, such as: jquery, angular, boostrap, amaze, layui, ueditor, etc., and these libraries are numerous and have their own difficulties. You don’t know which one to learn, and you even wonder if you are learning js. It seems that there are multiple versions of js, and you can’t finish learning...
So, how can we learn easily or even skillfully in the js field? I have summarized some practical js learning experiences:
1. First of all, we must firmly grasp its status
and must not forget it at all times, otherwise it is easy to commit the crime of "blinding one leaf to seeing the mountain" mistake. Don't learn JS for a long time before you realize that JS is a programming language, which means writing code, and its characteristic is that it's messy. That way you won't be able to learn JS well. We must always grasp its position, to be precise, its position in the entire Web: it belongs to the core of the front-end, and is mainly used to manipulate and readjust the DOM, and modify the DOM structure to achieve the purpose of modifying the page effect. This central idea should be used to guide all subsequent js learning and form conditioned reflexes.
2. There must be a clear learning route
This can only be provided by people who have experienced it as a reference. My learning route is as follows:
A: The basic part of js, such as: defining variables, functions, arrays, strings, etc., built-in functions, built-in objects, etc.;
B: js-oriented The idea of procedural programming encapsulates each function, and try to use these to do some common small functions, such as: tabs, custom multi-select buttons, custom players, 3D slideshows;
C: js-oriented Object programming ideas, try to encapsulate some of your own objects and provide meaningful interfaces;
D: Learn the above content, and then learn commonly used libraries, you must learn jquery here;
E: Learn common plug-ins based on jquery, such as: bootstrap, Layer, rich text editor, etc.;
F: Comprehensive application of the above multiple libraries to write templates for actual projects, write a few more set.
3. Learn and understand from multiple angles
Fully mobilize what you have learned and do a certain function from multiple angles, such as: In the past, you were from What was done from a process-oriented perspective is now being done from an object-oriented perspective, or it can be continued to be made into a plug-in that can be used directly, providing properties, methods, etc. Strive to have the function you create gradually be used in actual projects. The advantage of this is that it not only comprehensively applies what you have learned, but also has practical significance.
4. Pay attention to cultivating confidence
At this time, it is not suitable for you to look at the source code of very complex and dazzling web page effects, nor is it suitable for you to come here Just learn things like jquery, angular, vue, bootstrap. These contents contain a lot of profound knowledge. Learning these directly without any foundation will severely damage your self-confidence. At this time, you are weak, and what you need is to cultivate confidence, not the other way around. Otherwise, the outcome is likely to be "die", and success in school will be far away.
5. Write more summaries
This summary not only includes the source code and screenshots of the display effects, but also the mistakes that are easy to make and the corresponding solutions and the last part. Two concise concluding sentences. The summary you write is not done after you finish writing it. You need to review it more, improve it more, and streamline it more. When it comes to working on a project, you should know what it is about by reading one or two sentences in it, instead of reading a long speech.
6. Build a knowledge map
This will make it clearer as you learn. You can do it in any form you like, as long as it impresses you deeply.
Note: Knowledge maps should also be revised and revised frequently to make them more reasonable and clearer.
If you are learning front-end, or encounter many difficulties in the process of learning javascript, learn and communicate with everyone to make up for your own shortcomings.
The following is a summarized knowledge map of js. Reading it carefully is a review and improvement of JavaScript, which can be a good test of the foundation.
JavaScript Variables
JavaScript Operator
JavaScript Array
JavaScript Process Statement
JavaScript String Function
JavaScript Function Basics
JavaScript Basic DOM Operations
##DOM Object BOM Browser Object Model JavaScript Regular Expression Yes, there is no advanced knowledge or advanced skills. It’s just that a tall building rises from the ground; however, a journey of a thousand miles begins with a single step; however, a journey of a thousand miles collapses in an ant nest. Being able to do simple things well is not simple. How far you can go does not depend on how smart you are, but on how diligent you are and how hard you work together.