• 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