Javascript

software-development

Articles
Resources
Tools
Books
Videos
Libraries
APIs
Good parts & bad parts

TypeScript

interview-javascript
The standards
ecmascript-6
ecmascript-5
ParallelJS
Design Patterns

DOM Manipulation and traversal

Exception, error handling, common or obscure JavaScript errors
Gotchas
Debugging
Debuggers
Debugger - Venkman

Naming convention
Basic data types
NaN
isInteger
Type coercion
Type checking
Falsy values
The == operator does coercion
Problem with semicolon insertion
Problem with function hoisting
The escape, encodeURI, and encodeURIComponent methods
Differences between null and undefined
Using objects as keys
The delete operator
The for-in loop
Reserved keywords
The in operator
The comma operator
The "use strict" statement
Objects
Variables
Statements
Operators
Comments
Block scope
Division by zero
Object.create
Object.freeze
Object.thaw
Feature detection
SEO
Advantages and disadvantages of using transpilers
Difference between attributes and properties
The var keyword is only applied to one variable
Problem with eval and named function expression
Difference between run-time and parse-time
Variable and function hoisting
Cookies
Date
RegExp
Arrays
Sorting and searching
Math
Functions
3D
AJAX
JSONP
CORS

Best Practices
Style Guide
OOP
this
Function is a first class object
call and apply
bind
closure
curry
IIFE
Named function expression
Mixins
Immutable data structures
The module pattern
Memoization
MVC
ORM
Functional Programming
Testing
Unit Test
Code Coverage
Profiling / Benchmarking
Recursion
Namespacing
AMD
Observer
Observables
AMD / Dependency Management / Module Loader
Pointers or references
javascript-revealing
Miscellaneous
Obscure stuffs

javascript-with
Eval
Loop
Promises
Deferred and async scripts
Client-side rendering versus server-side rendering
Unobtrusive

What is the purpose of this page?

Using a cross-browser DOM manipulation libraries such as jQuery is nice, but there are circumstances where it is just not appropriate. What about when you want to contribute to such cross-browser DOM manipulation libraries? The purpose of this page is to list all the DOM-manipulation methods that I know about, and to provide a reference point for me to refer to when I face some challenge. The examples may not be complete, but they are the starting point for me to research and experiment until I come up with the perfect solution for me. You may need to experiment with these examples to come up with your own solution for the browser that you need to support.

This page is not intended to be complete on all the other functions. Long ago, Mozilla corporation used to publish PDFs that are very useful, one of which was particularly very useful to me, but it is hard to find this PDF file now. Therefore, I've put this PDF on Google Docs at https://drive.google.com/file/d/0B_4moJAr5vDPZGplSC1JbTZVNnc/edit?usp=sharing. If you wish to download this file to your computer, you need to click on Files -> Download

Use http://www.webplatform.org/, http://docs.webplatform.org/wiki/Main_Page, and Google as the starting point for your research.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License