yangfch3's github
professional-javascript-for-web-reading-notes
Introduction
1.
What Is JavaScript?
2.
JavaScript in HTML
3.
Language Basics
3.1.
Basic Syntax
3.2.
Reserved & Key Words
3.3.
Variable
3.4.
Data Types & Detection
3.4.1.
Undefined Type
3.4.2.
Null Type
3.4.3.
Boolean Type
3.4.4.
Number Type
3.4.5.
String Type
3.4.6.
Object Type
3.5.
Operators
3.5.1.
Unary Operators
3.5.2.
Bitwise Operators
3.5.3.
Logical Operators
3.5.4.
Multiplicative Operators
3.5.5.
Additive Operators
3.5.6.
Relational Operators
3.5.7.
Equality Operators
3.5.8.
Conditional Operators
3.5.9.
Assignment Oparators
3.5.10.
Comma Oparator
3.6.
Statements
3.7.
Functions
4.
Variables,Scope,and Memory
4.1.
Basic Types & Reference Types
4.2.
Execution Context & Scope
4.3.
Garbage Collection
5.
Reference Types
5.1.
Object Type
5.2.
Array Type 01
5.3.
Array Type 02
5.4.
Array Type 03
5.5.
Date Type
5.6.
RegExp Type
5.7.
Function Type 01
5.8.
Function Type 02
5.9.
Function Type 03
5.10.
Primitive Wrapper Types
5.11.
Singleton Built-in Objects
6.
OOP
6.1.
Understanding Objects
6.1.1.
Property Types
6.1.2.
Define Properties
6.1.3.
Get property Descriptor
6.2.
Object Creation
6.2.1.
The Factory Pattern
6.2.2.
The Constructor Pattern
6.2.3.
The Prototype Pattern
6.2.4.
Combination Construtor/Prototype Pattern
6.2.5.
Dynamic Prototype Pattern
6.2.6.
Parasitic Construtor Pattern
6.2.7.
Durable Construtor Pattern
6.3.
Inheritance
6.3.1.
Prototype Chaining
6.3.2.
Constructor Stealing
6.3.3.
Combination Inheritance
6.3.4.
Prototypal Inheritance
6.3.5.
Parasitic Inheritance
6.3.6.
Parasitic Combination Inheritance
6.4.
Summary
7.
Functions Expression
7.1.
Recursion
7.2.
Closures
7.3.
Mimicking Block Scope
7.4.
Private Variables
7.4.1.
Static private variable & oop
7.4.2.
module pattern and singleton
8.
BOM
8.1.
window object
8.2.
location object
8.3.
navigator object
8.4.
screen object
8.5.
history object
9.
Client Detection
10.
DOM
10.1.
Node Basic Type
10.2.
Document Type
10.3.
Element Type
10.4.
Text Type
10.5.
Other Types
10.6.
DOM Operative Skills
11.
DOM Extension
11.1.
Selectors API
11.2.
Element Traversal
11.3.
HTML5 Basic
11.4.
Proprietary Extensions
12.
DOM Levels 2 and 3
13.
Events
13.1.
Event Flow
13.2.
Event Handlers
13.2.1.
HTML Event Handlers
13.2.2.
DOM Level 0 Event Handlers
13.2.3.
DOM Level 2 Event Handlers
13.2.4.
IE Event Handlers
13.2.5.
Cross-Browser Event Handlers
13.3.
The Event Object
13.3.1.
Event Object in DOM
13.3.2.
Event Object in IE
13.3.3.
Cross-Browser Event Object
13.4.
Event Types
13.4.1.
UI Events
13.4.2.
Focus Events
13.4.3.
Mouse and Wheel Events
13.4.4.
Keyboard and Text Events
13.4.5.
Composition Event
13.4.6.
Mutation Events
13.4.7.
HTML5 Events
13.4.8.
Device Events
13.4.9.
Touch and Guesture Events
13.5.
Memory and Performance
13.6.
Simulating Events
14.
Scripting Forms
14.1.
Form Basics
14.2.
Scripting Text Boxes
14.3.
Scripting Select Boxes
14.4.
Form Serialization
14.5.
Rich Text Editing
15.
Graphics With Canvas
15.1.
Basic Usage
15.2.
The 2D Context
15.2.1.
Fills and Strokes
15.2.2.
Drawing Rectangles
15.2.3.
Drawing Paths
15.2.4.
Drawing Text
15.2.5.
Transformations
15.2.6.
Drawing Images
15.2.7.
Shadows
15.2.8.
Gradients
15.2.9.
Patterns
15.2.10.
Working with Image Data
15.2.11.
Compositing
15.3.
WebGL
16.
HTML5 New Feature and JS
16.1.
Cross-Document Messaging
16.2.
Native Drag and Drop
16.3.
Media Elements
16.4.
History State Management
17.
Error Handling and Debugging
17.1.
Browser Error Reporting
17.2.
Error Handling
17.3.
Debugging Techniques
18.
XML in JavaScript
18.1.
XML DOM Support in Browsers
18.2.
XPath Support in Browsers
18.3.
XSLT Support in Browsers
19.
ECMAScript for XML
19.1.
E4X Types
19.2.
General Usage
19.3.
Other Changes
19.4.
Enabling Full E4X
20.
JSON
21.
AJAX and Comet
21.1.
XMLHttpRequest Object
21.2.
XMLHttpRequest Level 2
21.3.
Progress Event
21.4.
CORS
21.5.
Other CROS Skill
21.6.
Comet
21.7.
Security
22.
Advanced Techniques
22.1.
Advanced Functions
22.2.
Prevent tampering objects
22.3.
Advanced Timer
22.4.
Custom Event
22.5.
Drag and Drop
23.
Offline Application and Client-Side Storage
23.1.
Offline Detection
23.2.
Application Cache
23.3.
Data Storage
23.4.
Application cache
24.
Best Practices
24.1.
Maintainability
24.2.
Performance
24.3.
Deployment
25.
Upcoming APIs
25.1.
RequestAnimationFrame
25.2.
Page Visibility API
25.3.
Geolocation API
25.4.
File API
25.5.
Web Timing
25.6.
Web Workers
26.
Appendixes
Powered by
GitBook
professional-javascript-for-web-reading-notes
理解对象
对象由属性构成,方法是特殊的属性,要理解对象,最重要的就是要理解对象的属性。
对象的属性在创建时都带有一些特征值,
JavaScript
通过这些特征值定义了对象属性的行为特征。