Home > Store

Javascript Absolute Beginner's Guide, Third Edition, 3rd Edition

eBook (Watermarked)

  • Your Price: $29.43
  • List Price: $36.79
  • Includes EPUB and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    Adobe Reader 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.

Description

  • Copyright 2023
  • Pages: 624
  • Edition: 3rd
  • eBook (Watermarked)
  • ISBN-10: 0-13-795908-7
  • ISBN-13: 978-0-13-795908-2

Make the most of today's JavaScript--even if you've never programmed anything before. JavaScript Absolute Beginner's Guide, Third Edition is the fastest way to learn JavaScript, starting with the basics and gradually going deeper and broader into all the techniques you need to begin building highly scalable, performant web apps and experiences. Do what you want, the way you want, one incredibly easy step at a time!

Learn all this, and much more:

  • Start fast with the basics: values, variables, functions, conditionals, loops, closures, and more
  • Create well-organized, clear code that's easy to reuse and improve
  • Learn proven best practices to build web apps that scale with outstanding performance
  • Make the most of powerful object-oriented techniques to build complex, extensible apps
  • Wrangle data like a pro by learning how to use the popular JSON standard, arrays, web storage, and more
  • Translate your ideas into visually compelling and interactive content by learning how to work with the DOM
  • Identify and fix issues quickly by learning how to use the in-browser development tools
  • Understand the ins and outs of events and how you can use them to react to actions the user or the page will perform
  • Learn how to ensure your code runs lightning-fast with extra coverage of performance optimizations and techniques you can use
  • Learn the basics that set you up to more quickly use modern web frameworks like React, Vue, Next.js, and Nuxt
  • Explore advanced features such as object destructuring, making web requests, the class syntax, accessing your webcam, variable hoisting, and more
  • Get up-to-speed on the latest JavaScript enhancements proposed by the EcmaScript standard

Extras

Author's Site

Visit the author's site at https://forum.kirupa.com/.

Sample Content

Sample Pages

Download the sample pages (includes Chapter 2)

Table of Contents

Introduction...................1

    Parlez-Vous JavaScript? 2

    Contacting Me/Getting Help...................... 2

1 Hello, World!... 5

    What Is JavaScript?....... 7

    Hello, World!.................. 9

    Statements, Expressions, and Functions..12

I The Basic Stuff

2 Values and Variables..................... 15

    Using Variables............16

    More Variable Stuff......18

3 Functions....... 23

    What Is a Function?.....26

    A Simple Function.......26

    Creating a Function That Takes Arguments...........................30

    Creating a Function That Returns Data...35

4 Conditional Statements: if, else, and switch............... 39

    The If/Else Statement..40

    Switch Statements.......49

    Deciding Which to Use..............................55

5 Looping with for, while, and dowhile!...................... 57

    The for Loop................59

    The Starting Point........62

    Some for Loop Examples..........................64

    The Other Loops.........67

6 Commenting Your CodeFTW!.... 71

    What Are Comments?.72

    Commenting Best Practices......................76

7 Timers............ 79

    Delaying with setTimeout..........................80

8 Variable Scope.............................. 85

    Global Scope...............86

    Local Scope..................88

    Miscellaneous Scoping Shenanigans.......89

9 Closures......... 95

    Functions Within Functions.......................96

    When the Inner Functions Aren't Self-Contained................100

10 Where Should Your Code Live?.. 109

    Approach #1: All the Code Lives in Your HTML Document...................113

    Approach #2: The Code Lives in a Separate File................114

    So, Which Approach to Use?..................118

11 Console Logging Basics.............. 123

    Meet the Console......124

    Displaying the Console............................126

    If You Want to Follow Along...................127

    Console Logging 101..............................128

II It's an Object-Oriented World

12 Of Pizza, Types, Primitives, and Objects................... 135

    Let's First Talk About Pizza.......................136

    From Pizza to JavaScript!.........................139

    What Are Objects?....141

    The Predefined Objects Roaming Around in JavaScript....142

13 Arrays.......... 145

    Creating an Array......146

    Accessing Array Values............................147

    Adding Items.............149

    Removing Items.........151

    Finding Items.............152

    Merging Arrays..........152

    Mapping, Filtering, and Reducing Arrays.............................153

    The Old School Way.153

    Modifying Each Array Item with map.....154

    Getting One Value from an Array of Items...........................157

    A Short Foray into Functional Programming........................160

14 Strings......... 161

    The Basics...................162

    String Properties and Methods...............163

15 Combining Strings and Variables 173

    Our Setup...................174

16 When Primitives Behave Like Objects....................... 179

    Strings Aren't the Only Problem.............180

    Let's Pick on Strings Anyway...................180

    Why This Matters.......182

17 Numbers...... 185

    Using a Number........186

    Operators...................187

    Incrementing and Decrementing............188

    Hexadecimal and Octal Values...............190

    Special ValuesInfinity and NaN...........190

    The Math Object.......191

    Random Numbers.....196

18 Getters and Setters.................... 201

    A Tale of Two Properties..........................202

    Meet Getters and Setters........................205

19 A Deeper Look at Objects.......... 211

    Meet the Object........212

    Creating Custom Objects........................222

    The this Keyword.......226

20 Using Classes.............................. 231

    The Class Syntax and Object Creation..232

    Extending Objects.....240

21 Extending Built-in Objects.......... 247

    Say Hello to prototype Again, Sort Of!..249

    Using a Subclassing Approach................253

    Extending Built-in Objects Is Controversial................255

22 Arrow Functions......................... 259

    What Are Arrow Functions?.....................260

    Putting It All Together..............................263

23 Making Sense of this and More.. 265

    The this Keyword 101..............................266

24 Booleans and the Stricter === and !== Operators... 277

    The Boolean Object..278

    The Boolean Function..............................278

    Strict Equality and Inequality Operators281

25 Null and Undefined.................... 283

    Null..............................284

    Undefined...................284

26 All About JSON (JavaScript Object Notation).......... 287

    What Is JSON?...........288

    Looking Inside a JSON Object...............292

    Reading JSON Data..297

    Writing JSON Data?..300

III Working with the DOM

27 JS, the Browser, and the DOM... 303

    What HTML, CSS, and JavaScript Do....304

    HTML Defines the Structure....................304

    Prettify My World, CSS!...........................306

    It's JavaScript Time!...307

    Meet the Document Object Model........309

28 Finding Elements in the DOM.... 315

    Meet the querySelector Family...............316

    It Really Is the CSS Selector Syntax........318

29 Modifying DOM Elements.......... 321

    DOM Elements Are Objects, Sort Of!....322

    Let's Actually Modify DOM Elements.....324

30 Styling Our Content................... 337

    Why Would We Set Styles Using JavaScript?..............338

    A Tale of Two Styling Approaches..........338

31 Using CSS Custom Properties.... 345

    What Are CSS Custom Properties/Variables?................346

    Setting Complex Values Easily................348

32 Traversing the DOM................... 353

    Finding Your Way Around........................354

    Putting It All Together..............................358

33 Creating and Removing DOM Elements.................... 363

    Creating Elements.....364

    Removing Elements..372

    Cloning Elements......374

34 Quickly Adding Many Elements into the DOM......... 381

    General Approach.....383

    Getting Started..........384

35 In-Browser Developer Tools........ 397

    Meet the Developer Tools.......................398

IV Dealing with Events

36 Events.......... 417

    What Are Events?......418

    Events and JavaScript..............................420

    A Simple Example.....423

    The Event Arguments and the Event Type.............426

37 Event Bubbling and Capturing... 429

    Event Goes Down, Event Goes Up........430

    Meet the Phases........434

    Who Cares?................437

    Event, Interrupted.....438

38 Mouse Events............................. 443

    Meet the Mouse Events...........................444

    The MouseEvent Properties....................451

    Dealing with the Mouse Wheel..............454

39 Keyboard Events........................ 457

    Meet the Keyboard Events......................458

    Using These Events...459

    The Keyboard Event Properties..............460

    Some Examples.........461

40 Page Load Events and Other Stuff............................ 467

    The Things That Happen During Page Load..........468

    The DOMContentLoaded and load Events................471

    Scripts and Their Location in the DOM.473

    Script Elements: async and defer...........477

41 Loading Script Files Dynamically 481

    The Basic Technique.482

    Running Our Dynamically Loaded Script First............486

    Running Dependent Code After Our Script File Has Loaded........488

42 Handling Events for Multiple Elements..................... 491

    How to Do All This....493

V Totally Useful Topics that Only Make Sense Now

43 Using Emojis in HTML, CSS, and JavaScript.............. 501

    What Are Emojis Exactly?........................502

    Emojis in HTML..........503

44 Making HTTP/Web Requests in JavaScript................ 511

    The Example..............513

    Meet Fetch.................514

    Meet XMLHttpRequest............................520

45 Accessing the Webcam............... 529

    The Example..............530

    Overview of How This Works..................531

    Adding the Code.......532

    Examining the Code.535

46 Array and Object Destructuring. 539

    Destructuring Examples...........................541

47 Storing Data Using Web Storage.............................. 549

    How Web Storage Works........................550

    Getting Your Code On.............................552

48 Variable and Function Hoisting.. 559

    JavaScript and Compiler Behavior.........560

49 Working with Sets...................... 565

    Creating a Set, Part I.566

    Adding Items to a Set..............................567

    How Checking for Duplicates Works......567

    Creating a Set, Part 2569

    Checking the Size of Our Set..................570

    Deleting Items from a Set.......................571

    Checking If an Item Exists.......................572

    Looping Through Items in a Set.............572

    Entries, Keys, and Values.........................573

50 Conclusion... 577

Glossary............................ 581

9780137959167, TOC, 10/13/2022

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020