Web front-end research and development engineer, in the domestic as a Chaoyang profession, this field does not have the formal education of the school, most people are self-taught by themselves. This article focuses on the books and the growing process that I have seen since the beginning of web development (from the sophomore year to the present), with the aim of learning JavaScript through a progressive reading of JavaScript or a friend who is just in touch with JavaScript.
I. Entry level: There is a certain basis (such as the most common HTML tags and their properties, events, methods, the most common CSS properties, basic JavaScript programming capabilities), to complete some simple web front-end requirements.
Recommended: "JavaScript DOM programming Art"
Reason: This book is definitely a good book to get started, I am also in touch with JS for a period of time after reading this book. This book from the history of JS-JS basic Grammar knowledge-dom introduction and simple use. Now this book has been out of the second edition, the need for friends directly on the second version of the line.
Evaluation: Concise, practical, detailed, easy to understand, the book is not thick, I believe that will soon be able to read.
Of course, as an introductory book, "JavaScript authoritative guide" is also very strong (this name is not white up), in fact, it is also ashamed to say, I have not bought this book, the first is because the book is very small, had to borrow friends to see, but also saw a weekend. Online about this book a lot of evaluation, meaning is probably said that this book is a JS document manual, if you have spare money, and used to search for books, then a copy of it. By the way, the English version of the sixth edition of the book has come out.
Two. Primary development: My previous dev leader and mentor said, "The primary developer's logo is the need to get work done under the guidance of intermediate and advanced development." First of all, do not criticize the code of the right and wrong rigorous, after all, each programmer has such a process, is the characteristics of this level.
Recommendation: JavaScript Advanced Programming (second Edition)
Reason: The author of this book is Nicholas C.zakas, Yahoo's front-end engineer, is Yui's code contributor, can imagine this book is gold, his books are widely praised. This book has been published in the second edition, and compared with the first version of the content update is very large, direct second version of the line. Do not be fooled by the title of "Advanced", as long as there is JS basic grammar knowledge and the basic knowledge of the DOM, and the beginning of the book is to introduce the syntax of JS and DOM knowledge.
Comments: Focus on the Fifth chapter (type), sixth (OOP), the seventh chapter (anonymous), read a few times, at least to fully understand, can be a good basis for the next step, personal feeling these chapters are the essence of the book. This book in the introduction of the time to see the rhythm will be faster, so do not recommend beginners to see, but compared to I will introduce the book and calculate the basis of a point, so it is recommended to read this book, browser compatibility and grammar knowledge have a certain understanding before reading down.
Recommendation: High-performance JavaScript, the language of JavaScript
Reason: I first look at the "high-performance JS", this book is Nicholas C.zakas, the classic, the book a lot of examples of different JavaScript in the browser performance, the specification of JavaScript code and improve the performance of a good help, Finally, a lot of tools and performance testing methods, are often gray ash often practical, to see the author is very kind (well, I admit, I was his fan) _, the deepest word: "If JavaScript executes for a few seconds, then it is likely that you did something wrong";;
"The essence of Language" and "high performance" a few key knowledge are repeated mention, but why should recommend this book, because this book on the nature of JS language description is great, this is a guide to the nature of JavaScript language books, from the "object", "function", "Inherit", "array" And many other important knowledge to begin with. I'll make a word--this book needs to be read over and over again.
Comments: All are good books, are very thin, and the content as long as the basis is not difficult. Believe that after reading will have a new understanding of JS, and later code specifications and browser differences and other advanced issues have a new understanding, if after reading will have the feeling of empowerment, then congratulations, you are not far from the intermediate.
Three. Intermediate development: Or my previous dev leader and mentor said: "Intermediate developers of the logo is a high-level development or architects under the guidance of a high-quality completion of work, and products or projects have their own ideas and understanding."
Highly recommended: Advanced programming of JavaScript DOM
Reason: This book Gray often sharp, I have looked at the time of nearly half a year, has repeatedly read several times. To tell the truth, the translation of this book in general, the code has a few errors, but this does not affect the powerful book, through the book, you can understand how a JS library to produce, and write a simple own JS library, if you intend to study other JS library or research other JS library, Then this book will make your understanding reach new heights, advanced high-level must-read, write library must read.
Comments: Unusually powerful JS masterpiece, this book is not thin, highly recommended. Now can not buy the original, I have an electronic version here, the need for friends to leave the mailbox, the evening sent to you. These things are not in time from the Grand network transfer to Baidu network disk, so has been lost, can not send the electronic version to everyone t.t
Highly recommended: JavaScript design mode
Reason: Abnormal vigorous of a book, look at the title with "design mode" know, this book want to read understand a little difficult, I feel, as long as a book area "mode" The word, anyway, is simply not. This book is a detailed introduction to JS's "Imitation Interface", "encapsulation", "Inheritance", "Chain call", "Factory mode" and other specific design patterns and their application in JavaScript language, using design patterns to make the code more modular, more efficient and easier to maintain.
Comments: The book is not thick, can really be rich and advanced, highly recommended to buy.
Recommendation: High-performance website Construction Guide, advanced Guide to high-performance website construction
Reason: After reading the first few books, we have achieved a high level of efficiency in front-end performance and our own code, and then we are in touch with some of the essence of some front-end engineers. This book explains HTTP requests, CDN, content caching, and some common issues in web development.
Comments: The book is not thick, but said are more practical things, but with no need to see the individual and project needs.
Above is I go all the way to see the JS related books, friends will ask, why is only introduced intermediate, so high-level read the book where? Are there any advanced books on wood? Where is the advanced Programmer's path? Say my own views and suggestions for young friends, said bad or wrong please forgive, in fact, I have really worked for more than two years:
1. The main problem is working experience. To a certain extent after a really suitable book is difficult to find, more only in the work to summarize and accumulate. The longer you work, the more problems you encounter, _. So generally speaking, senior programmers are generally at least 3 years of work experience, there is no way to practice the truth.
2. I think the high-level Web front-end gray often need to summarize a own JS library, regardless of size, there is always a set of their own things (hey, if you seriously practice "JS Dom advanced" content, estimated a set of JS Library prototype).
3. Front-end is necessary to understand and familiar with a service-side language, in fact, computer language a lot of grammar roughly the same, different is built-in methods and properties, so to know a language is not difficult. Why it is necessary, because proficient in a language is not enough, learn a language of the benefits I will not wordy.
4. Many young people have above his business problems, and so do I, for example, some people think that they are very handy to make up a program, do not have to look for manuals, write on, very skilled, almost any program can be made up, think that they are proficient in this language. In fact, the mastery of a language is not deeply measured, for language mastery is actually an endless process, there is no end point. Writing time and writing proficiency is only one aspect of mastering language performance. More importantly, the programmer should grasp the scope of the language, the overall structure, grammar rules, functional classification and other basic theory of knowledge, and can use this knowledge, the most scientific way to solve the problems of various projects in the real world.
Learn the front-end studentsWelcome to the front-end Learning Exchange Group: 461593224
Web front-end learning useful books