HTML5 is great. jQuery is cool. Node.JS is awesome. Base them on the solid, powerful basement of pure JavaScript and you can rock the web! ;)
Learn...
- JavaScript: from the Ground to Closures
- Javascript and related technologies
- First Steps
- Setup your environment
- Hello, World!
- Task: Alert
- Variables and statements
- Task: What's wrong?
- Browser Developer's Tools
- User interaction: alert, prompt and confirm
- Task: Simple page task
- Operators and constructs
- Functions: declarations and expressions
- Task: Function simple
- Task: Funciton pow(x,n)
- Task: Closure syntax test
- Task: NFE test
- Mastering data types
- String
- Task: Uppercase char
- Task: checkSpam
- Task: Truncate
- Number, Math
- Task: sum
- Task: Endless by chance
- Task: Random(0,b)
- Task: Random(a,b)
- Task: intRandom(min,max)
- Objects
- Task: Fist object
- Task: multiplyNumeric
- Task: Create a summator
- Task: Create chainable object
- Task: Create a summator with new
- Array
- Task: Create array
- Task: Get a random value from array
- Task: Array find
- Task: filterNumeric
- Task: addClass
- Task: Camelize
- Task: Array element call, this
- Task: removeClass
- Task: filterNumericInPlace
- Task: Compare people
- Task: filter
- Task: Sieve of Eratosthenes
- Conversion, toString and valueOf
- Task: ['x'] == 'x'
- Task: Why [ ] == ![ ] ?
- Task: Conversion quiz
- String
- Four scents of "this"
- Task: Object syntax check
- Type detection
- Function arguments
- Task: Math.max for array
- Static variables and methods
- Scopes and Closures
- Decorators
- Task: Make logging decorator
- Task: Make caching decorator
- Document and Events
- Adding a script to HTML
- Task: Rabbits offline
- Browser environment
- DOM
- DOM Nodes
- Traversing the DOM
- Basic DOM Node properties
- Task: nodeType test
- Attributes and custom properties
- Task: Get custom attribute
- Modifying the document
- Task: createTextNode vs innerHTML
- Task: remove
- Task: insertAfter
- Task: removeChildren
- Task: createList
- Using document.write
- Searching elements in DOM
- Task: window === window.window
- Task: Stylize labels
- Task: Check inside table
- Task: Label links
- Task: Tree
- Task: Compare elems size
- More references in forms and tables
- View and position
- Events
- Introduction into browser events
- Task: Hide on click
- Task: Hide self
- Task: Sliding menu
- Task: Message hide
- Obtaining the event object
- Bubbling and capturing
- The default browser action
- Event delegation
- Task: Message hide delegate
- Task: Image gallery
- Task: Catch links
- Mouse events
- Task: Rollover
- Task: Tree hide children
- Focus/Blur: methods and events
- Task: Create array
- Task: Get a random value from array
- Task: Array find
- Task: filterNumeric
- Task: addClass
- Task: Camelize
- Task: Array element call, this
- Task: removeClass
- Task: filterNumericInPlace
- Task: Compare people
- Task: filter
- Task: Sieve of Eratosthenes
- Keyboard events
- Task: Number-only input
- Task: Mouse on keys
- Task: Caps lock warning input
- Task: Hotkey
- Introduction into browser events
- Adding a script to HTML
- Object Oriented Programming
- Timing
- Frames and windows
- Regular expressions in JavaScript
- Introduction
- Character classes
- Special characters
- Flags
- Character sets and ranges
- Task: Match date
- Task: k[^s]
- Numeric Quantifiers
- Task: Regexp for web color
- Quantifiers +, * and ?
- Greedy and Lazy
- Ahchors and multiline mode
- Task: ^$
- Word boundary
- Infinite backtracking problem
- Task: Fix slow regexp
- Groups
- Task: Regexp for web color #abc #abcdef
- Task: Parse an expression
- Task: Matching tags
- Alternation
- Task: Match languages
- Task: Test a clanned nick
- Task: Match a string with quotes
- Regular expressions methods
- Practice
- Advanced and Extra stuff