High Performance JavaScript (Documentation)

Recently, I am trying my best to sort out the document of “High Performance JavaScript” and learn it again. I put it here for everyone to check and find the knowledge points they need.

Front-end development document

High-performance JavaScript

Chapter 1: Loading and Execution

  1. Script location
  2. Block scripts
  3. Non-blocking scripts

    • Delayed script
    • Dynamic script element
    • XMLHTTPRequestScript injection
    • Recommended non-blocking mode
  4. Summary

Chapter 2: Data Access

  1. Administrative scope

    • Scope chain and Identifier Analysis
    • Performance of Identifier Resolution
    • Change scope chain
    • Dynamic scope
    • Closure, Scope, and Memory
  2. Object member

    • Prototype
    • Prototype chain
    • Nested members
    • Caching Object Member Values

Chapter 3: DOM Programming

  1. DOM in browser

    • Born slow
  2. DOM access and modification

    • innerHTMLContrast DOM method
    • Node clone
    • HTML collection
    • Traversal DOM
  3. Redrawing and Rearrangement

    • When will the rearrangement take place
    • Queue and Refresh of Render Tree Changes
    • Minimize redrawing and rearrangement
    • Cache layout information
    • Detach an element from the animation stream
    • IE and:hover
  4. Event delegation
  5. Summary

Chapter 4: Algorithms and Process Control

  1. Cycle

    • Loop type
    • Cyclic performance
    • Function-based Iteration
  2. conditional statement

    • if-elseContrastswitch
    • Optimizationif-else
    • Lookup table
  3. recursive

    • Call stack limit
    • Recursive mode
    • Iteration
    • Memoizaton
  4. Summary

Chapter 5: Strings and Regular Expressions

  1. concatenation of string

    • Add+And add, etc+=Operator
    • Array item merge
    • String.prototype.concat
  2. Regular expression optimization

    • How Regular Expressions Work
    • Understanding backtracking
    • Back out of control
    • Description of benchmark test
    • More Methods to Improve the Efficiency of Regular Expressions
    • When to Use Regular Expressions
  3. Remove the leading and trailing blanks of the string

    • Use regular expressions to remove the beginning and end whitespace
    • Do not use regular expressions to remove the leading and trailing blanks
    • Hybrid solution
  4. Summary

Chapter 6: Quick Response User Interface

  1. Browser UI thread

    • Browser restrictions
    • How long is too long
  2. Use the timer to release the time segment

    • Timer basis
    • Timer accuracy
    • Use timers to process arrays
    • Split task
    • Timers and Performance
  3. Web Workers

    • Worder operating environment
    • Communicate with Worker
    • Load external files
    • Practical application

Chapter 7: Ajax

  1. Data transmission

    • Request data
    • txd
  2. data format

    • XML
    • JSON
    • HTML
    • Custom format
    • Data format summary
  3. Ajax performance guide

    • Cache data
    • Understanding the Limitations of Ajax Class Libraries
  4. Summary

Chapter 8: Programming Practice

  1. Avoid double evaluation
  2. UseObject/ArrayDirect quantity
  3. Avoid duplication of work

    • Delayed loading
    • Conditional preload
  4. The fast part

    • bit manipulation
    • native
  5. Summary

Chapter 9: Building and Deploying High Performance JavaScript Applications

  1. Apache Ant
  2. Merge multiple JS files
  3. Pre-processing JS files
  4. JS compression
  5. Comparison of build-time processing and run-time processing
  6. HTTP compression of JS
  7. Caching JS files
  8. Handle cache issues
  9. Use a Content Delivery Network (CDN)
  10. Deploy JS resources
  11. Agile JS building process
  12. Summary

Chapter 10: Tools

  1. JS performance analysis
  2. YUI Profiler
  3. Anonymous function
  4. Firebug

    • Console panel analysis tool
    • Console API
    • Network panel
  5. IE developer tools
  6. Safari Web inspector

    • Analysis panel
    • Resource panel
  7. Chrome developer tools
  8. Script blocking
  9. Page Speed
  10. Fiddler
  11. YSlow
  12. dynaTrace Ajax Edition
  13. Summary