12 years ago, he was just beginning to touch web development, so the Google and the IDE between the constant switch, self-taught c#,sqlserver,js open. Then he did the following several things with JS: 1. Simple operation of the DOM position color, etc. 2. Some data validation; 3. Try to write primitive Ajax, do a similar game in the equipment bar components, with JS bound event 4.ajax wrote a provincial and county three-level linkage, and try to make the data into XML once all to the browser, so linkage can be faster. Here, he has completed the learning and practice of common JavaScript functions. But it only uses the simplest part of JavaScript, and sometimes makes some wrong decisions (abuse). later appeared in the browser to crop the application of the picture, he felt very magical, with some primitive skills to the other people's JS code, 1.1 points removed useless code, integrated into their site. In the process, he first carefully read the code written by others. A lot of places do not understand, but feel very dick look. So he decided to read a few JS books to fill up the lessons. He is increasingly using Google, one day whim: he wants to make a browser plugin, You can use the keyboard to operate the google:1. After you open Firefox, double-click Ctrl to open Google, the input box to get the focus; 2. Add a number to the search result, 3. Press the number n, open the nth result in the new tab, and transfer to the new tab; 4. Press CTRL + Number N, Open the nth search results on a new tab; 5. Press ctrl+shift+ number N to open the first n results in a new tab; Firefox plugin is JS written, he completed the above functions. Then received from others that the same operation to use Baidu's needs. Although somewhat mechanically C # experience, he first used classes and objects in his own JS code to refactor the code to achieve this requirement. Later he joined a large company responsible for the development and maintenance of document components in the ERP technology platform, This work has the following characteristics: 1. A lot of logic on the browser side, the entry has already had tens of thousands of lines of JS code; 2. This component was originally purchased as a confusing version of a commercial software, so the 20,000 + lines of JavaScript core code were confusing (variable method names are a3,e5) ; 3. His job is to maintain this abstract enough component, and add new features constantly. The business platform then makes it available to business developers after it is business-based. In this job, his JS skills have evolved, including but not limited to: 1. Summarize and learn some debugging techniques, such as: do not read the source of the premise (too much time), how the page occurs when something happens to the triggered code. or using conditional breakpoints to modify the code logic without changing the source, 2. Abstract abstraction and abstraction; 3.The output is simple, simple, and even used for every function, demonstrating how to use the new feature in the most straightforward way. ; 4. At the bottom of the technology platform, to help the upper business platform and business implementation of debugging problems; 5. Constant refactoring; 6. The design pattern is consciously used because of its complexity; 7. Time allocation has changed a lot: The original short design time is longer, the development time is not much changed, and the debugging time is greatly increased by debugging. It's getting shorter. Once because friends recommend, to a good company interview JS Development, the interviewer heard very bad. He asked some such as Var a=[1,2,] The last comma in the name of what, constructor the role of the key words and other problems. He felt ill-prepared, a little annoyed, and broke up (and did not answer too well). Then he knew the interviewer was Masaki, and suddenly the anger turned to remorse. Some things he felt too biased to the door does not mean that it does not exist, in some people's work, these biased knowledge is necessary. Years of working experience have not taught him humility, he missed a chance to enter the wider world. Later in the work, JS used more and more less. There are two things worth saying: once doing in-house research and Development project management software, he wanted to do a visually strong source control and a more convenient multi-time component. He used flotchat to use canvas in the mainstream browser, and the low version of IE was drawn with VML to fix it. Two other times since I've just come out of the Microsoft Department, I'm going to need some Linux to make some demands, using Nodejs (I learned a lot more in other languages at that time). This is the story of my non-full-time front-end developer who used JavaScript for 12 years. Imitation Witenuwi A famous words, I think: the ideal jser should be both an engineer and an artist, he should also be proficient in products, keen to serve others, proficient in cooking, knowledge of the backend, with compassion, deep understanding of speech skills and dealing with people. (Quote: The ideal architect should be both a writer and a mathematician, he should also be proficient in history, keen on philosophical research, proficient in music, knowledge of medicine, legal attainments, and well versed in astronomy and astronomical calculations.) (OK, I know I have a bad imitation, everyone knows I'm good at cooking) I took a long time to learn this knowledge, I hope to help my factory's new students to learn them faster. I am not a full-time jser, and left the first-line JS development has been a while, this period has emerged a new better framework and programming concepts. But in every aspect of JS, I plant are strong enough and professional master to help everyone. That, now the problem: I want to give my factory 10 dozen just into the students to do JS training, we have what good advice ~ My initial idea is: 1. To drive everyone to see the rhino book at a uniform Rhythm (or anthology), see a specific chapter in each cycle; 2. Let's have a study meeting to check everyone's self-study on this knowledge point, Combined with the work of the case to expand this point of knowledge, with explanations of debugging skills, programming concepts, design, tradeoff; 3. The first two steps are repeated many times, covering the basic JS knowledge points commonly used in the work. This should include all of the contents of the first part of the Rhino book, in addition to being too basic or regular, for one months to complete; 4. Explain common frames, design patterns,nodejs; 5. Project summary meeting, technology sharing meeting, diversified talents training.
A guy with a JavaScript story