1. JavaScript Programming
  2. Introduction to JavaScript
    1. History of JavaScript
    2. About JavaScript
    3. JavaScript editors, IDEs
    4. alert
    5. Document.write
    6. confirm
    7. prompt
    8. console
    9. Separate script to its own file
    10. Comments in JavaScript
    11. Bad Comments in JavaScript
    12. Literal values in JavaScript (numbers, strings, booleans, etc.)
    13. Examples for generating Infinite and NaN (not a number)
    14. var - variables in JavaScript
    15. Variables without var
    16. use strict
    17. use strict + var
    18. Scope of variables
    19. Exercise: Set up environment for web browser
    20. Exercise: Set up environment for command line
    21. Exercise: Set up development environment
    22. Exercise: Hello World
  3. JavaScript basics
    1. Numerical Operators
    2. String operations
    3. String index and slice
    4. indexOf, lastIndexOf
    5. substr, slice, and substring
    6. Concatenate strings
    7. Replace substring
    8. Mixing numbers and strings
    9. Converting between numbers and strings
    10. Convert octal, hexa
    11. Converting decimal to hexa
    12. Browser IO (HTML)
    13. Browser IO (JavaScript)
    14. Exercise: Hello World on pressing button
    15. Solution: Hello World on pressing button
    16. Exercise: Add two numbers
    17. Solution: Add two numbers
    18. Variable definition
  4. Conditionals in JavaScript
    1. if statement
    2. Double equal (==) issues in JavaScript
    3. Compare values using == in JavaScript
    4. Compare values using === in JavaScript
    5. Comparision operators
    6. Comparision operators - examples
    7. Booleans: true and false
    8. Falsy values in JavaScript
    9. Truthy values in JavaScript
    10. Logical operators
    11. Toggle boolean
    12. Convert Truthy and Falsy values to boolean
    13. Short circuit
    14. if - else
    15. else if
    16. Switch (case) in JavaScript
    17. Math.round
    18. Rounding up a float to integer (ceil)
    19. Rounding down a float to integer (floor)
    20. Converting float to integer (trunc)
    21. Math.random
    22. Throw a dice (random integers 1-6)
    23. Exercise: Calculator
    24. Solution: Calculator
    25. Exercise: Guess number
    26. Solution: Guess number
  5. Arrays in JavaScript
    1. for-loop
    2. while loop
    3. Break out from while loop in JavaScript
    4. An infinite while loop
    5. Continue to next in while loop in JavaScript
    6. do-while loop in JavaScript
    7. new Array
    8. Literal array: []
    9. Enlarge array with elements
    10. JavaScript Arrays - pop - push
    11. JavaScript Arrays - shift - unshift
    12. Two dimensional array (matrix)
    13. For-in loop on array
    14. ForEach loop on array
    15. Reverse array
    16. Concatenate arrays
    17. Concatenate array with object
    18. Concatenate array is shallow
    19. Array indexOf lastIndexOf
    20. Array slice (range) or splice
    21. Split string, join array
    22. Deep copy with JSON
    23. Exercise: Count digits
    24. Solution: Count digits
    25. Exercise: Count characters
    26. Solution: Count characters
    27. Exercise: Number guessing - history
    28. Solution: Number guessing - history
    29. Exercise: Number guessing
    30. Exercise: Reverse the number guessing game
    31. Solution: Reverse the number guessing game
  6. JavaScript functions
    1. Function statements
    2. Function expressions (Anonymous functions)
    3. Unknown number of function arguments
    4. Assign function
    5. Passing functions as parameter of another function
    6. Recursive function
    7. Dispatch table
    8. Variable scope
    9. Scope in if block
    10. Variable in for loop
    11. Immediate Execution using ()
    12. Immediate Execution with parameters using ()
    13. Private Global Scope
    14. Exercise: Reverse Polish Calculator
    15. Reverse Polish Calculator in JavaScript
    16. Order
  7. JavaScript Objects
    1. new empty object
    2. new Objects
    3. new Object with attribute
    4. Literal Objects
    5. Dumping data structures (for debugging)
    6. Access JavaScript object attributes
    7. Change JavaScript object attributes
    8. Add JavaScript object attributes
    9. Delete property from object
    10. for-in loop on JavaScript object
    11. Count words
    12. Count words fixed
    13. keys of an object
  8. Advanced JavaScript
    1. Stringify NaN, Infinite, and null
    2. JSON parsing NaN, Infinite, and null
    3. JSON parsing NaN, Infinite, and null (Node.js" %}
    4. typeof
    5. typeof and null
    6. Delayed (scheduled) execution - setTimeout
    7. Recurring execution - setInterval
    8. Stop recurring execution - clearInterval
    9. Dates
    10. sort
    11. sort object
    12. sort datestrings
    13. map
    14. Closures in JavaScript
    15. Exception handling
    16. NodeJS: command line arguments
    17. NodeJS: prompt on STDIN
    18. Transliterate
  9. RegExp - Regular Expressions in JavaScript
    1. RexExp Object
    2. Match
    3. Substitute
    4. RegExp cheat sheet
  10. DOM - Document Object Model
    1. Inject content in HTML
    2. Add event listener
    3. Get value of input box
    4. Get value of selected option
    5. Update selection box based on other selection
    6. Autoresizing Grid
    7. Local storage - counter
    8. Remove item from local storage - reset counter
    9. Clear local storage
    10. Local storage - boolean
  11. Other
    1. Date
    2. Try Catch
  12. Application
    1. Install NodeJS
  13. JavaScript Appendix
    1. Resources
    2. JavaScript Videos
    3. JavaScript Tools
    4. Reserved words in JavaScript
    5. Awful parts
    6. Bad Parts
    7. JSLint
    8. Deep copy
    9. Invocation patterns
    10. Apply
    11. getElementsByClassName