Web Front-end R & D engineers are regarded as a job in Chaoyang in China. There is no formal education in this field, and most people rely on their own self-taught talents. This article mainly introduces the books I have read since I was engaged in Web Development (since my sophomore year) and my own growth process. It aims to show my friends who want to know JavaScript or who are new to JavaScript, this section describes how to learn JavaScript by reading a book step by step.
I. Entry level:There is a certain foundation (such as the most common HTML tags and their attributes, events, methods, the most common CSS attributes, and basic JavaScript programming capabilities ), able to meet some simple Web Front-end requirements.
Recommendation: Javascript DOM programming Art
Reason: This book is definitely a good book for beginners. I also read this book after I have been in contact with Js for a while. This book covers the history of js-basic syntax knowledge of js-dom introduction and simple use. Now this book has come out of the second version. You only need a friend to go to the second version.
Rating: concise, practical, detailed, easy to understand, and the book is not thick. I believe you will be able to read it soon.
Of course, as an entry book, The javascript authoritative guide (version 5th) is also very powerful (this name is not white). In fact, I am also ashamed to say that I have never bought this book, the first reason was that this book was really expensive, so I had to borrow it from my friends, but it was just a weekend. There are many comments on this book on the Internet, which means that this book is a JS document manual. If you have spare money and are used to searching through the book, let's get a copy. By the way, the English version of this book has come out.
Ii. Primary development:As my previous Dev leader and teacher said: "The Sign of junior developers is that they need to complete their work under the guidance of intermediate and advanced development ". First, do not blame the code for its correctness or rigor. After all, every programmer has such a process, which is a feature of this level.
Recommendation: javascript advanced programming (version 2)
Reason: the author of this book is Nicholas C. zakas, blog address is http://www.nczonline.net/, you can pay more attention to, Yahoo's front-end engineer, is the Yui code contributor, can imagine this book has gold, his books are widely praised. This book has already come out of the second version, and it is much newer than the first version, just go to the second version. Don't be overwhelmed by the title's "advanced", as long as you have basic JS syntax knowledge and Dom basic knowledge, and at the beginning of this book, I will introduce the syntax knowledge of JS and Dom.
Comments: I would like to highlight chapter 5 (type), chapter 6 (OOP), and chapter 7 (anonymous). I should read it several times at least to fully understand it and lay a solid foundation for the future development, I personally think these chapters are the essence of this book. This book is faster to read at the beginning, so it is not recommended for beginners to read it. However, it is a little more basic than the book I will introduce later. Therefore, it is recommended to read this book first, I have some knowledge about browser compatibility and syntax before reading.
Recommendation: High-Performance JavaScript, the essence of JavaScript language and programming practices
Reason: I first read "high-performance JS". This book is still Nicolas C. zakas, a classic, provides a large number of examples of the performance of Javascript in browsers written in different ways, which helps standardize JavaScript code and improve performance, at last, I mentioned many tools and performance testing methods, which are often very useful. I can see that the author is very kind (well, I admit it, even his fans) ^ _ ^, the most memorable sentence: "if Javascript is executed for several seconds, it is likely that you have done something wrong ";;
A small part of the key knowledge of language essence and high performance have been repeatedly mentioned, but why should we recommend this book? This book is a great description of the essence of JS language, this is an authoritative book that describes the nature of JavaScript language. It starts with many important knowledge such as "object", "function", "inheritance", and "array. Let me add one sentence-This book needs to be read repeatedly.
Comments: they are both good books and thin books, and it is not difficult to say that the content is basic. I believe that after reading this article, I will have a new understanding of JS, and I will have a new understanding of advanced issues such as code specifications and browser differences in the future. After reading this article, I will feel overwhelmed, congratulations! You are not far from the intermediate level.
Iii. Intermediate development:As my previous Dev leader and teacher said: "the logo of intermediate developers is to finish their work with high quality under the guidance of senior developers or less architects, and have their own ideas and understanding of products or projects ".
Highly recommended: Javascript DOM Advanced Programming
Reason: I have read this book for nearly half a year and have read it many times. To be honest, the translation of this book is normal, and there are a few errors in the code, but it does not affect the power of this book. By studying this book, you can understand how a JS library is generated, write a simple JS library by yourself. If you want to study other JS libraries or are studying other JS libraries, this book will bring your understanding to a new level, advanced advanced reading and writing.
Comments: an extremely powerful JS masterpiece. This book is not thin and is strongly recommended. I can't buy a genuine version now. I have an electronic version here. If you need it, I will leave a mailbox and send it to you at night.
Highly recommended: javascript Design Mode
Reason: the title of an unusually fierce book is "Design Pattern". It is difficult for me to understand this book. I feel that if a book contains the word "pattern, it is not easy. This book describes JS's "Imitation interface", "encapsulation", "inheritance", and "chain call ", "factory mode" and other specific design patterns and Their Application in Javascript language are described in detail, using the design pattern to make the code more modular, more efficient and easier to maintain.
Comment: The book is not thick, but it is really rich and profound. We strongly recommend that you purchase it.
Recommendation: high-performance website construction guide, advanced high-performance website construction Guide
Reason: after reading the first few books, we have achieved a high level of efficiency in front-end performance and our own code. Then we are getting started with some of the essence of some front-end engineers. This book describes HTTP requests, CDN, content caching, and some common problems in Web development.
Comments: The books are not thick, but they all talk about practical things. However, if you don't need to use them, you have to check personal and project needs.
The above are JS-related books I read along the way. My friends will ask why I only introduced the intermediate ones, so where are the advanced books? Do you have wood and advanced books? Where is the path to advanced programmers? Let's talk about my own views and suggestions for young friends. If you say something bad or wrong, please forgive me. In fact, I have been working for more than two years:
1. Work Experience issues. After reaching a certain level, it will be difficult to find a suitable book. More can only be summarized and accumulated at work. The longer the job is, the more problems you encounter, ^_^. Therefore, Senior programmers generally have at least three years of working experience, and there is no way to practice the truth.
2. I think it is often necessary to summarize a JS library of the advanced Web Front-end, regardless of its size, there is always a set of its own things (hey, if you have carefully practiced the content of "JS Dom advanced, it is estimated that there is a set of JS library prototypes ).
3. It is necessary for the front-end to understand and be familiar with a server language. In fact, many syntaxes of computer languages are similar. The difference is the built-in methods and attributes, so it is not difficult to get familiar with a language. Why is it necessary? Because it is still not enough to be proficient in one language, I will not be so embarrassed about the advantages of learning more than one language. You can refer to this article-"door-to-door or door-to-door"
4. many young people have a low-handed problem, and I am the same. For example, some people think that they are very comfortable with programming. They don't need to check the manual, write it as they are, and they are very skilled, almost any program can be compiled, and I think I am very proficient in this language. In fact, the degree of mastery of a language cannot be further tested. It is actually a complete process and there is no end point for language mastery. The length of writing time and the proficiency of writing are only a part of language proficiency. More importantly, programmers should have knowledge about the applicability, overall architecture, grammar rules, functional classification, and other basic theories of the language, and be able to use this knowledge, use the most scientific method to solve various problems of various projects in reality.
I finally finished writing in June 29 and completed my requirements-I wrote a high-quality article or technology sharing in a month.
Finally, thank you for your pleasant work.