SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available in other formats.
Register your product to gain access to bonus material or receive a coupon.
All You Need to Know, and Nothing You Don't, to Write JavaScript for the Web and Beyond
JavaScript plays a key role in modern software development, not only because it is the only language that runs inside virtually all web browsers, but also because it has become widely used for back-end and general-purpose development as well. Although JavaScript is a big language, you don't need to learn "everything" about it to get started, just how to use it efficiently to solve real problems. In Learn Enough JavaScript to Be Dangerous, renowned instructor Michael Hartl teaches the specific concepts, skills, and approaches you need to be professionally productive.
Even if you've never programmed before, Hartl helps you quickly build technical sophistication and master the lore you need to succeed. Treating JavaScript as a general-purpose language right from the start, Hartl offers examples for creating dynamic effects in browsers and for writing scripts and modules using Node.js. Focused exercises help you internalize what matters, without wasting time on details pros don't care about. Soon, it'll be like you were born knowing this stuff--and you'll be suddenly, seriously dangerous.
Learn enough about . . .
Download the companion code files from GitHub:
https://github.com/learnenough/learn_enough_javascript_code_listings
Download the sample pages (includes Chapter 11)
Preface xiii
About the Author xvii
Chapter 1: Hello, World! 1
1.1 Introduction to JavaScript 5
1.2 JS in a Web Browser 7
1.3 JS in a REPL 14
1.4 JS in a File 21
1.5 JS in a Shell Script 22
Chapter 2: Strings 25
2.1 String Basics 25
2.2 Concatenation and Interpolation 27
2.3 Printing 33
2.4 Properties, Booleans, and Control Flow 35
2.5 Methods 44
2.6 String Iteration 50
Chapter 3: Arrays 55
3.1 Splitting 55
3.2 Array Access 56
3.3 Array Slicing 58
3.4 More Array Methods 59
3.5 Array Iteration 62
Chapter 4: Other Native Objects 65
4.1 Math and Number 65
4.2 Dates 69
4.3 Regular Expressions 73
4.4 Plain Objects 81
4.5 Application: Unique Words 83
Chapter 5: Functions 91
5.1 Function Definitions 91
5.2 Functions in a File 95
5.3 Method Chaining 104
5.4 Iteration for Each 110
Chapter 6: Functional Programming 115
6.1 Map 116
6.2 Filter 122
6.3 Reduce 126
Chapter 7: Objects and Prototypes 135
7.1 Defining Objects 135
7.2 Prototypes 139
7.3 Modifying Native Objects 147
Chapter 8: Testing and Test-Driven Development 153
8.1 Testing Setup 154
8.2 Initial Test Coverage 159
8.3 Red 164
8.4 Green 172
8.5 Refactor 177
Chapter 9: Events and DOM Manipulation 187
9.1 A Working Palindrome Page 187
9.2 Event Listeners 192
9.3 Dynamic HTML 202
9.4 Form Handling 205
Chapter 10: Shell Scripts with Node.js 215
10.1 Reading from Files 216
10.2 Reading from URLs 218
10.3 DOM Manipulation at the Command Line 224
Chapter 11: Full Sample App: Image Gallery 235
11.1 Prepping the Gallery 235
11.2 Changing the Gallery Image 242
11.3 Setting an Image as Current 250
11.4 Changing the Image Info 252
11.5 Conclusion 259
Index 263