A Smarter Way to Learn JavaScript Front Cover

A Smarter Way to Learn JavaScript

Description

I found JavaScript books so frustrating, I decided to write my own.

The authors of JavaScript books are probably some of the brightest people around. And maybe that’s the problem. Maybe they don’t know how to relate to those of us who may sometimes struggle to learn. My sister is a wonderful dancer. I dance like Bill Gates. She says, “C’mon, dancing is easy!” Yeah, for her, but not for Bill and me. She’ll never teach me to dance until she understands that dancing isn’t easy for me.

Whether you’re a beginner or an experienced coder doesn’t matter. Plenty of veterans have told me, “I wish someone had used this approach to teach me [HTML, PHP, jQuery, C#, Ruby, Java, Python—fill in the blank].” Experienced or not, you’ll probably like my book if you find other books too dense, too technical, and too unsympathetic to the learner’s needs.

What you’ll especially like, I think, is that the book is just the tip of the iceberg. The larger part is the abundance of interactive exercises that encourage you to practice, practice, practice. You’ll agree, I think, that without practice, a coding student might as well be reading a novel.

One caveat: If you’re an older programmer who has established ways of doing things, you may get bent out of shape by my insistence that you do some things that aren’t habitual for you. If you think this might be a problem, please try the free sample of the book before you buy it. Then do a few of the interactive exercises. You’ll soon know whether you can tolerate being pushed around by me.

Here’s what’s different about my book:

Testing showed that books and courses load up the reader with far too much information at a time. So I divide up the information into little chunks that won’t overwhelm anyone.

A book on coding doesn’t have to be written in impenetrable legalese. It can actually be human-readable. My book is.

Most people learn best through examples, so I provide plenty of them.

Most important, before you have a chance to forget what you’ve read in the book, I ask you to fire up your desktop or laptop (not your mobile device) and head over to my website, where you run a set of interactive exercises, practicing everything you’ve learned—until you’re sure you’ve mastered it.

Readers tell me they often start the exercises thinking they know the material cold. and quickly find out they don’t. The automated exercise manager keeps you at it until your overconfidence becomes real confidence—confidence that’s based on your excellent performance. There are 1,750 exercises in all. They’re all interactive, with an automated answer-checker that corrects your missteps and points you in the right direction when you stumble. And they’re all free.

Readers tell me the combination of book and interactive exercises is involving, fun, frustration-free, addictive, confidence-building, and…well, read the reviews.

Become fluent in all the JavaScript fundamentals, with interactive practice.

  • Display alert messages to the user
  • Gather information through prompts
  • Manipulate variables
  • Build statements
  • Do math
  • Use operators
  • Concatenate text
  • Run routines based on conditions
  • Compare values
  • Work with arrays
  • Run automated routines
  • Display custom elements on the webpage
  • Generate random numbers
  • Manipulate decimals
  • Round numbers
  • Create loops
  • Use functions
  • Find the current date and time
  • Measure time intervals
  • Create a timer
  • Respond to the user’s actions
  • Swap images
  • Control colors on the webpage
  • Change any element on the webpage
  • Improvise new HTML markup on the fly
  • Use the webpage DOM structure
  • Insert comments
  • Situate scripts effectively

Table of Contents

1. Alerts
2. Variables for Strings
3. Variables for Numbers/text>
4. Variable Names Legal and Illegal
5. Math Expressions: familiar operators
6. Math Expressions: familiar operators
7. Math Expressions: eliminating ambiguity
8. Concatenating text strings
9. Prompts
10. if statements
11. Comparison operators
12. if…else and else if statements
13. Testing sets of conditions
14. if statements nested
15. Arrays
16. Arrays: adding and removing elements
17. Arrays: removing, inserting, and extracting elements
18. for loops
19. for loops: flags, Booleans, array length, and breaks
20. for loops nested
21. Changing case
22. Strings: measuring length and extracting parts
23. Strings: finding segments
24. Strings: finding a character at a location
25. Strings: replacing characters
26. Rounding numbers
27. Generating random numbers
28. Converting strings to integers and decimals
29. Converting strings to numbers, numbers to strings
30. Controlling the length of decimals
31. Getting the current date and time
32. Extracting parts of the date and time
33. Specifying a date and time
34. Changing elements of a date and time
35. Functions
36. Functions: passing them data
37. Functions: passing data back from them
38. Functions: local vs. global variables
39. switch statements: how to start them
40. switch statements: how to complete them
41. while loops
42. do…while loops
43. Placing scripts
44. Commenting
45. Events: link
46. Events: button
47. Events: mouse
48. Events: fields
49. Reading field values
50. Setting field values
51. Reading and setting paragraph text
52. Manipulating images and text
53. Swapping images
54. Swapping images and setting classes
55. Setting styles
56. Target all elements by tag name
57. Target some elements by tag name
58. The DOM
59. The DOM: Parents and children
60. The DOM: Finding children
61. The DOM: Junk artifacts and nodeType
62. The DOM: More ways to target elements
63. The DOM: Getting a target’s name
64. The DOM: Counting elements
65. The DOM: Attributes
66. The DOM: Attribute names and values
67. The DOM: Adding nodes
68. The DOM: Inserting nodes
69. Objects
70. Objects: Properties
71. Objects: Methods
72. Objects: Constructors
73. Objects: Constructors for methods
74. Objects: Prototypes
75. Objects: Checking for properties and methods
76. Browser control: Getting and setting the URL
77. Browser control: Getting and setting the URL another way
78. Browser control: Forward and reverse
79. Browser control: Filling the window with content
80. Browser control: Controlling the window’s size and location
81. Browser control: Testing for popup blockers
82. Form validation: text fields
83. Form validation: drop-downs
84. Form validation: radio buttons
85. Form validation: ZIP codes
86. Form validation: email
87. Exceptions: try and catch
88. Exceptions: throw
89. Handling events in JavaScript

To access the link, solve the captcha.