SmartSellTM - The New Way to Sell Online

We won't be beaten by anyone. Guaranteed

JavaScript Absolute Beginner's Guide

Product Details

Table of Contents

Introduction 1 Parlez-vous JavaScript? 2 Contacting Me/Getting Help 4 Chapter 1 Hello, World! 5 What Is JavaScript? 7 A Simple Example 8 Code Editing Tools 8 The HTML Document 9 Looking at the Code: Statements and Functions 10 PART I: THE BASIC STUFF Chapter 2 Values and Variables 13 Using Variables 14 More Variable Stuff 15 Naming Variables 15 More on Declaring and Initializing Variables 16 Chapter 3 Functions 19 What Is a Function? 22 A Simple Function 22 Creating a Function That Takes Arguments 24 Creating a Function That Returns Data 27 The Return Keyword 27 Exiting the Function Early 28 Chapter 4 Conditional Statements: If, Else, and Switch 31 The If/Else Statement 32 Meet the Conditional Operators 34 Creating More Complex Expressions 36 Variations on the If/Else Statement 38 Phew 39 Switch Statements 39 Using a Switch Statement 39 Similarity to an If/Else Statement 42 Deciding Which to Use 44 Chapter 5 Meet the Loops: For, While, and Do...While! 47 The for Loop 49 The Starting Condition 51 Terminating Condition (aka Are we done yet?) 51 Reaching the End 51 Putting It All Together 52 Some for Loop Examples 52 Stopping a Loop Early 53 Skipping an Iteration 53 Going Backwards 54 You Don't Have to Use Numbers 54 Array! Array! Array! 54 Oh No He Didn't! 55 The Other Loops 55 The while Loop 56 The do...while Loop 56 Chapter 6 Timers 59 Meet the Three Timers 60 Delaying with setTimeout 60 Looping with setInterval 61 Animating Smoothly with requestAnimationFrame 62 Chapter 7 Variable Scope 67 Global Scope 68 Local Scope 70 Miscellaneous Scoping Shenanigans 71 Declarations Using var Do Not Support Block Scoping 71 How JavaScript Processes Variables 72 Closures 74 Chapter 8 Closures 77 Functions within Functions 78 When the Inner Functions Aren't Self-Contained 81 Chapter 9 Where Should Your Code Live? 89 The Options on the Table 90 Approach #1: All the Code Lives in Your HTML Document 92 Approach #2: The Code Lives in a Separate File 93 The JavaScript File 93 Referencing the JavaScript File 94 So Which Approach to Use? 97 Yes, My Code Will Be Used on Multiple Documents! 97 No, My Code Is Used Only Once, on a Single HTML Document! 99 Chapter 10 Commenting Your Code 101 What Are Comments? 102 Single Line Comments 103 Multi-line Comments 104 Commenting Best Practices 106 PART II: IT'S AN OBJECT-ORIENTED WORLD Chapter 11 Of Pizza, Types, Primitives, and Objects 109 Let's First Talk About Pizza 110 From Pizza to JavaScript 113 What Are Objects? 115 The Predefined Objects Roaming Around 117 Chapter 12 Strings 121 The Basics 122 String Properties and Methods 124 Accessing Individual Characters 124 Combining (aka Concatenating) Strings 125 Making Substrings out of Strings 126 Splitting a String/split 128 Finding Something Inside a String 129 Upper and Lower Casing Strings 130 Chapter 13 When Primitives Behave Like Objects 133 Strings Aren't the Only Problem 134 Let's Pick on Strings Anyway 134 Why This Matters 137 Chapter 14 Arrays 139 Creating an Array 140 Accessing Array Values 141 Adding Items to Your Array 143 Removing Items from the Array 145 Finding Items in the Array 146 Merging Arrays 147 Chapter 15 Numbers 149 Using a Number 150 Operators 151 Doing Simple Math 151 Incrementing and Decrementing 152 Special Values-Infinity and NaN 153 Infinity 153 NaN 154 The Math Object 154 The Constants 155 Rounding Numbers 157 Trigonometric Functions 158 Powers and Square Roots 158 Getting the Absolute Value 159 Random Numbers 59 Chapter 16 A Deeper Look at Objects 161 Meet the Object 162 Creating Objects 163 Specifying Properties 167 Creating Custom Objects 169 The this Keyword 175 Chapter 17 Extending Built-in Objects 179 Say Hello to Prototype...Again-Sort of! 181 Extending Built-in Objects Is Controversial 185 You Don't Control the Built-in Object's Future 186 Some Functionality Should Not Be Extended or Overridden 186 Chapter 18 Booleans and the Stricter === and !== Operators 189 The Boolean Object 190 The Boolean Function 190 Strict Equality and Inequality Operators 192 Chapter 19 Null and Undefined 195 Null 196 Undefined 197 Chapter 20 Immediately Invoked Function Expressions 201 Writing a Simple IIFE 203 Writing an IIFE That Takes Arguments 204 When to Use an IIFE 205 Avoiding Code Collisions 206 Closures and Locking in State207 Making Things Private 213 PART III: WORKING WITH THE DOM Chapter 21 JS, The Browser, and The DOM 219 What HTML, CSS, and JavaScript Do 220 HTML Defines the Structure 220 Prettify My World, CSS! 222 It's JavaScript Time! 223 Meet the Document Object Model 225 The Window Object 227 The Document Object 228 Chapter 22 Finding Elements in the DOM 231 Meet the querySelector Family 232 querySelector 233 querySelectorAll 233 It Really Is the CSS Selector Syntax 234 Chapter 23 Modifying DOM Elements 237 DOM Elements Are Objects-Sort of! 238 Let's Actually Modify DOM Elements 240 Changing an Element's Text Value 242 Attribute Values 242 Chapter 24 Styling Your Content 247 Why Would You Set Styles Using JavaScript? 248 A Tale of Two Styling Approaches 248 Setting the Style Directly 249 Adding and Removing Classes Using classList 250 Adding Class Values 250 Removing Class Values 251 Toggling Class Values 251 Checking Whether a Class Value Exists 252 Going Further 252 Chapter 25 Traversing the DOM 255 Finding Your Way Around 256 Dealing with Siblings and Parents 259 Let's Have Some Kids!259 Putting It All Together 261 Checking Whether a Child Exists 261 Accessing All the Child Elements 261 Walking the DOM 262 Chapter 26 Creating and Removing DOM Elements 265 Creating Elements 266 Removing Elements 271 Cloning Elements 273 Chapter 27 In-Browser Developer Tools 279 Meet the Developer Tools 280 Inspecting the DOM 282 Debugging JavaScript 287 Meet the Console 293 Inspecting Objects 294 Logging Messages 296 PART IV: DEALING WITH EVENTS Chapter 28 Events 299 What Are Events? 300 Events and JavaScript 302 1. Listening for Events 302 2. Reacting to Events 304 A Simple Example 305 The Event Arguments and the Event Type 307 Chapter 29 Event Bubbling and Capturing 311 Event Goes Down Event Goes Up 312 Meet the Phases 316 Who Cares? 319 Event, Interrupted 319 Chapter 30 Mouse Events 325 Meet the Mouse Events 326 Clicking Once and Clicking Twice 326 Mousing Over and Mousing Out 328 The Very Click-like Mousing Down and Mousing Up Events 330 The Event Heard Again...and Again...and Again! 331 The Context Menu 332 The MouseEvent Properties 333 The Global Mouse Position 333 The Mouse Position Inside the Browser 334 Detecting Which Button Was Clicked 335 Dealing with the Mouse Wheel 336 Chapter 31 Keyboard Events 339 Meet the Keyboard Events 340 Using These Events 341 The Keyboard Event Properties 342 Some Examples 343 Checking That a Particular Key Was Pressed 343 Doing Something When the Arrow Keys Are Pressed 344 Detecting Multiple Key Presses 345 Chapter 32 Page Load Events and Other Stuff 349 The Things That Happen During Page Load 350 Stage Numero Uno 351 Stage Numero Dos 352 Stage Numero Three 352 The DOMContentLoaded and load Events 353 Scripts and Their Location in the DOM 355 Script Elements-Async and Defer 358 async 358 defer 359 Chapter 33 Handling Events for Multiple Elements 363 How to Do All of This 365 A Terrible Solution 366 A Good Solution 367 Putting It All Together 370 Chapter 34 Conclusion 373 Glossary 377 Index 381

About the Author

Kirupa Chinnathambi has spent most of his life trying to teach others to love web development as much as he does. In 1999, before blogging was even a word, he started posting tutorials on In the years since then, he has written hundreds of articles, written a few books (none as good as this one, of course!), and recorded a bunch of videos you can find on YouTube. When he isn't writing or talking about web development, he spends his waking hours helping make the Web more awesome as a Program Manager in Microsoft. In his non-waking hours, he is probably sleeping...or writing about himself in the third person.

Ask a Question About this Product More...
Write your question below:
Look for similar items by category
Home » Books » Computers » Programming » CGI
How Fishpond Works
Fishpond works with suppliers all over the world to bring you a huge selection of products, really great prices, and delivery included on over 25 million products that we sell. We do our best every day to make Fishpond an awesome place for customers to shop and get what they want — all at the best prices online.
Webmasters, Bloggers & Website Owners
You can earn a 5% commission by selling JavaScript Absolute Beginner's Guide on your website. It's easy to get started - we will give you example code. After you're set-up, your website can earn you money while you work, play or even sleep! You should start right now!
Authors / Publishers
Are you the Author or Publisher of a book? Or the manufacturer of one of the millions of products that we sell. You can improve sales and grow your revenue by submitting additional information on this title. The better the information we have about a product, the more we will sell!
Item ships from and is sold by Fishpond World Ltd.
Back to top