Chapter 0 Preface
1. A brief History of JavaScript
1994 Netscape released the Navigator browser, due to the lack of interactivity at the time, so Netscape needed a scripting language for the Web to add interaction, but in what language, it is difficult to decide. However, the second year Sun released Java, its conquer posture, prompting Netscape to make a thigh-hugging decision, after Netscape and Sun Allied, Sun fully involved in scripting language development decisions.
Finally, Netscape decided to develop a simplified version of the Java language, and assign the task to Brendan Eich, but this guy is not interested in Java, in order to cope with the job, he took only two weeks to design the JavaScript.
His basic design ideas are:
(1) Learn the basic grammar of C language;
(2) Learn the Java language data type and memory management;
(3) using the scheme language to promote the function to the status of "first Class citizen";
(4) Using the Self language, use the inheritance mechanism based on prototype (prototype).
The synthesis of multi-party decision making JavaScript become a product of hybridization.
In 1996, Microsoft finally realized the importance of the Internet and increased its support for home browser ie, including JScript, so there were two different JavaScript versions on the market at a time. This historical source heralds the untold pain that later programmers have endured to deal with compatibility issues.
Finally, in 1997, the European Association of Computer Manufacturers (ECMA) developed the standard ECMA-262 (aka ECMAScript) for JavaScript, and various browser vendors began to use the standard as the basis for their own browser scripts.
ECMAScript so far, a total of 6 releases, (2009 release of the fifth edition, 2016 release sixth edition).
Reference: http://www.ruanyifeng.com/blog/2011/06/birth_of_javascript.html
2. Using JavaScript in HTML
2.1 External Scripts
<script type = "Text/javascript" src = "url" ></script>
In addition to the type and SRC, the label has other properties, such as:
Async = "Async" Asynchronous script. means download the script now, but do not block other operations.
defer = "defer" delay script. Indicates that the download is immediate, but the script is executed until the entire document has been resolved. for external scripts.
Quotation marks can be either a relative or an absolute path.
When async or defer is not set, the browser is parsed in the order in which the script is arranged.
As for the location of <script>, the modern front-end approach is to put it before </body>.
2.2 Embedded Scripts
Write scripts directly in the <script></script> tab.
3. JavaScript knowledge system and the directory structure of this series
This series is to JS two authoritative books "JavaScript Advanced Programming (3rd Edition)" (referred to as "advanced") and "JavaScript authoritative Guide (6th edition)" (hereinafter referred to as "authority") and other information refining, carding and summary.
This series will often use English annotations to increase the clarity of ideographic.
JavaScript knowledge Map |
Language |
ECMAScript |
Client-side |
Bom |
Dom |
Others |
Transmition |
Ajax, JSON |
Server-side |
Node ... |
javascript Vertical ecology |
Application layer |
Span style= "FONT-SIZE:16PX;" > interactive logic |
component layer |
custom components |
generic components, such as DatePicker ... |
frame layer |
Span style= "FONT-SIZE:16PX;" >jquery, Angular, React ... |
core layer |
Span style= "FONT-SIZE:16PX;" > Native JS and underlying API |
Language |
The 0th chapter: Preface |
A brief history of JavaScript, JavaScript knowledge system |
Chapter One: Grammar |
Grammar Brief |
Chapter II: Values and variables |
Six types of values, type conversions, variable descriptions |
Chapter III: Operators and expressions |
Various types of operators and expressions |
Fourth Chapter: statement |
conditions, loops |
Fifth chapter: Functions |
function analysis, scope, closure, this object, recursion, etc. |
Sixth chapter: Objects |
Object description, properties and methods of various JavaScript preset objects |
The seventh chapter: Object-Oriented Programming |
Various methods for creating objects, inheritance between objects |
Client |
Eighth chapter: BOM |
Properties and methods for various BOM objects |
Nineth Chapter: DOM |
Properties and methods of various DOM objects, events, form scripts, etc. |
Tenth chapter: Other Client Technologies |
Client detection, security, storage, JS execution principle, etc. |
Transmission |
11th Chapter: Data transmission |
Ajax, JSON, etc. |
Service side |
12th Chapter: Server-side scripting |
node, etc. |
Other |
The 13th chapter: Regular Expressions |
Rules, how to use |
The 14th chapter: Modularization |
Modularization thought and its process of technological evolution |
15th Chapter: Graphics |
Canvas, SVG, etc. |
The 16th chapter: ES6 's new things |
New Points of knowledge |
Kidney Day Arch A Stroke JavaScript series Chapter0 Preface