Defensive Coding Fundamentals for JavaScript and HTML5