JavaScript Absolute Beginner's Guide

JavaScript Absolute Beginner's Guide

3.9 (10 ratings by Goodreads)
By (author) 

Free delivery worldwide

Available. Dispatched from the UK in 2 business days
When will my order arrive?


JavaScript Absolute Beginner's Guide

No experience necessary!

Make the most of JavaScript -- even if you've never programmed anything before. This book is the fastest way to learn JavaScript and use it together with CSS3 and HTML5 to create powerful web and mobile experiences. Learn how to do what you want, the way you want, one incredibly easy step at a time. JavaScript has never been this simple!

This is the easiest, most practical beginner's guide to programming JavaScript with simple, reliable instructions for doing everything you really want to do! Here's a small sample of what you'll learn:

Learn why JavaScript is awesome
Organize your code with variables
Understand how functions make your code reusable
Use the popular if/else statement to help make a decision in code
Learn about switch statements and when to use them
Work with for, while, and do...while loops
Learn how to use global and local scope
Understand what closures are
Learn about the various places your code can live
Understand how to write comments and good commenting practices
Learn about the basic types of objects you'll run into in JavaScript
Find out that pizza has an educational value beyond just being deliciously awesome
Understand how text is treated in JavaScript
Learn how to perform common string operations
Use arrays to handle lists of data
Learn to create custom objects

Purchase of JavaScript Absolute Beginner's Guide in any format includes free access to the online Web Edition, which provides several special features to help you learn:

The complete text of the book online
Short videos by the author introducing each chapter
Interactive quizzes to test your understanding of the material
Updates and corrections as they become available

This Web Edition can be viewed on all types of computers and mobile devices with any modern web browser that supports HTML5.
Contents at a Glance

1 Hello, World!
Part I: The Basic Stuff2 Values and Variables3 Functions4 Conditional Statements: If, Else, and Switch5 Meet the Loops: For, While, and Do...While!6 Timers7 Variable Scope8 Closures9 Where Should Your Code Live?10 Commenting Your Code
Part II: It's an Object-Oriented World11 Of Pizza, Types, Primitives, and Objects12 Strings13 When Primitives Behave Like Objects14 Arrays15 Numbers16 A Deeper Look at Objects17 Extending Built-in Objects18 Booleans and the Stricter === and !== Operators19 Null and Undefined20 Immediately Invoked Function Expressions
Part III: Working with the DOM21 JS, The Browser, and The DOM22 Finding Elements in the DOM23 Modifying DOM Elements24 Styling Your Content25 Traversing the DOM26 Creating and Removing DOM Elements27 In-Browser Developer Tools
Part IV: Dealing with Events28 Events29 Event Bubbling and Capturing30 Mouse Events31 Keyboard Events32 Page Load Events and Other Stuff33 Handling Events for Multiple Elements34 Conclusion
show more

Product details

  • Paperback | 416 pages
  • 179 x 231 x 14mm | 520g
  • Que Corporation,U.S.
  • United States
  • English
  • 0789758067
  • 9780789758064
  • 672,466

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

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

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

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

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
show more

About Kirupa Chinnathambi

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.
show more

Rating details

10 ratings
3.9 out of 5 stars
5 40% (4)
4 30% (3)
3 20% (2)
2 0% (0)
1 10% (1)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X