Eloquent JavaScript A Modern Introduction to Programming
JavaScript lies at the heart of almost every modern web application, from social apps to the newest browser-based games. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications.Eloquent JavaScript, 2nd Edition...
Saved in:
| Main Author: | |
|---|---|
| Format: | eBook |
| Language: | English |
| Published: |
San Francisco
No Starch Press, Incorporated
2014
No Starch Press No Starch Press, Inc |
| Edition: | 2 |
| Subjects: | |
| ISBN: | 1593275846, 9781593275846 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | JavaScript lies at the heart of almost every modern web application, from social apps to the newest browser-based games. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications.Eloquent JavaScript, 2nd Edition dives deep into the JavaScript language to show you how to write beautiful, effective code. Author Marijn Haverbeke immerses you in example code from the start, while exercises and full-chapter projects give you hands-on experience with writing your own programs. As you build projects such as an artificial life simulation, a simple programming language, and a paint program, youll learn:The essential elements of programming, including syntax, control, and dataHow to organize and clarify your code with object-oriented and functional programming techniquesHow to script the browser and make basic web applicationsHow to use the DOM effectively to interact with browsersHow to harness Node.js to build servers and utilitiesThis edition is thoroughly revised and modernized to reflect the current state of JavaScript and web browsers, with brand-new material, such as a chapter on code performance in JavaScript, and expanded coverage of recursion and closures. All source code is available online in an interactive sandbox, where you can edit the code, run it, and see its output instantly.Isnt it time you became fluent in the language of the Web?. |
|---|---|
| AbstractList | This thoroughly revised edition reflects the current state of JavaScript and Web browsers, with new material, such as a chapter on code performance in JavaScript, and expanded coverage of recursion and closures. Haverbeke immerses readers in example code from the start, while exercises and full-chapter projects give you hands-on experience with writing their own programs. Readers will build projects such as an artificial life simulation, a simple programming language, and a paint program. In addition to learning essential elements of programming, including syntax, control, and data, they will learn how to: organize and clarify code with object-oriented and functional programming techniques; script the browser and make basic Web applications; use the DOM effectively to interact with browsers; and harness Node.js to build servers and utilities. -- JavaScript lies at the heart of almost every modern web application, from social apps to the newest browser-based games. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications.Eloquent JavaScript, 2nd Edition dives deep into the JavaScript language to show you how to write beautiful, effective code. Author Marijn Haverbeke immerses you in example code from the start, while exercises and full-chapter projects give you hands-on experience with writing your own programs. As you build projects such as an artificial life simulation, a simple programming language, and a paint program, youll learn:The essential elements of programming, including syntax, control, and dataHow to organize and clarify your code with object-oriented and functional programming techniquesHow to script the browser and make basic web applicationsHow to use the DOM effectively to interact with browsersHow to harness Node.js to build servers and utilitiesThis edition is thoroughly revised and modernized to reflect the current state of JavaScript and web browsers, with brand-new material, such as a chapter on code performance in JavaScript, and expanded coverage of recursion and closures. All source code is available online in an interactive sandbox, where you can edit the code, run it, and see its output instantly.Isnt it time you became fluent in the language of the Web?. JavaScript lies at the heart of almost every modern web application, from social apps like Twitter to browser-based game frameworks like Phaser and Babylon. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications. This much anticipated and thoroughly revised third edition of Eloquent JavaScript dives deep into the JavaScript language to show you how to write beautiful, effective code. It has been updated to reflect the current state of Java¬Script and web browsers and includes brand-new material on features like class notation, arrow functions, iterators, async functions, template strings, and block scope. A host of new exercises have also been added to test your skills and keep you on track. JavaScript lies at the heart of almost every modern web application, from social apps to the newest browser-based games. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications.Eloquent JavaScript, 2nd Edition dives deep into the JavaScript language to show you how to write beautiful, effective code. Author Marijn Haverbeke immerses you in example code from the start, while exercises and full-chapter projects give you hands-on experience with writing your own programs. As you build projects such as an artificial life simulation, a simple programming language, and a paint program, you'll learn:The essential elements of programming, including syntax, control, and dataHow to organize and clarify your code with object-oriented and functional programming techniquesHow to script the browser and make basic web applicationsHow to use the DOM effectively to interact with browsersHow to harness Node.js to build servers and utilitiesThis edition is thoroughly revised and modernized to reflect the current state of JavaScript and web browsers, with brand-new material, such as a chapter on code performance in JavaÂScript, and expanded coverage of recursion and closures. All source code is available online in an interactive sandbox, where you can edit the code, run it, and see its output instantly.Isn't it time you became fluent in the language of the Web? |
| Author | Haverbeke, Marijn |
| Author_xml | – sequence: 1 fullname: Haverbeke, Marijn |
| BookMark | eNo9kEtLAzEUhSM-sK1d-QdcKS4KySS5STaClvqi0IXFbcjMZHCYMKlJWuu_d6ajri4HvnvO4YzRSetbe4TGhCuaCQBCj_8ElwzO0EgqySTmIM7RNMY6xxQIA0roCF0unP_c2jZdvZqdeStCvUkX6LQyLtrp752g98fFev48W66eXub3y5kBogjMbJGVpSqlIryizGKWc0FywwEKECWGDAQtZMWNAG4xkUowQUoucGFUlUtJJ-h6MI5N7Vz0VdK5903M2F7ovIkYYyG6qh14N4BF19SGyge_sa0tt4VJtW91r5Ldp_7b1Xkw4Vuv1su67Bww47QzuB0MTGzsV_zwLkW9c_YQp5WQ_-P1YTcDuwn9NDHpA9ZHB-P04mFOFCWQUfoDgRhs-w |
| ContentType | eBook |
| CorporateAuthor | Open Textbook Library |
| CorporateAuthor_xml | – name: Open Textbook Library |
| DBID | -HA |
| DEWEY | 005.13/3 |
| DatabaseName | Open Textbook Library |
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISBN | 1593276613 9781593276614 |
| Edition | 2 2nd edition. |
| ExternalDocumentID | bks00077614 OTLid0000453 9781593276614 EBC1931623 |
| Genre | Textbooks Electronic books |
| GroupedDBID | -HA AABBV AALIM ABARN ABIAV ABQPQ ACLGV ACNAM ADVEM AERYV AFOJC AHWGJ AJFER AKHYG ALMA_UNASSIGNED_HOLDINGS AZZ BBABE BPBUR CZZ FEAQG GDRSO GEOUK JJU MYL NK1 NK2 OHILO OODEK PQQKQ 38. 6XM BFMIH DRU IVK IWL NM7 PLCCB PQEST PQUKI WZT |
| ID | FETCH-LOGICAL-a61916-ec2dd9d8915f34e04b571ba566c67d062673c8f5a765e01897471d570ca9fb883 |
| ISBN | 1593275846 9781593275846 |
| IngestDate | Fri Sep 23 12:24:49 EDT 2022 Fri Nov 14 12:07:28 EST 2025 Thu Jun 12 01:54:15 EDT 2025 Wed Nov 26 03:31:33 EST 2025 |
| IsOpenAccess | true |
| IsPeerReviewed | false |
| IsScholarly | false |
| LCCallNum | QA76 |
| LCCallNum_Ident | QA76.73.J39 .H384 2015 |
| Language | English |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-a61916-ec2dd9d8915f34e04b571ba566c67d062673c8f5a765e01897471d570ca9fb883 |
| Notes | Includes index. |
| OCLC | 898480567 |
| OpenAccessLink | https://open.umn.edu/opentextbooks/textbooks/453 |
| PQID | EBC1931623 |
| PageCount | 478 |
| ParticipantIDs | skillsoft_books24x7_bks00077614 centerforopeneducation_opentextbooklibrary_OTLid0000453 askewsholts_vlebooks_9781593276614 proquest_ebookcentral_EBC1931623 |
| PublicationCentury | 2000 |
| PublicationDate | 2014 2014-07-12 [2014] [2015] ♭2015 |
| PublicationDateYYYYMMDD | 2014-01-01 2014-07-12 2015-01-01 |
| PublicationDate_xml | – year: 2014 text: 2014 |
| PublicationDecade | 2010 |
| PublicationPlace | San Francisco |
| PublicationPlace_xml | – name: San Francisco – name: San Francisco, CA |
| PublicationYear | 2014 2015 |
| Publisher | No Starch Press, Incorporated No Starch Press No Starch Press, Inc |
| Publisher_xml | – name: No Starch Press, Incorporated – name: No Starch Press – name: No Starch Press, Inc |
| SSID | ssib036146313 ssj0001453212 |
| Score | 1.9322789 |
| SecondaryResourceType | open_educational_resource |
| Snippet | JavaScript lies at the heart of almost every modern web application, from social apps to the newest browser-based games. Though simple for beginners to pick up... JavaScript lies at the heart of almost every modern web application, from social apps like Twitter to browser-based game frameworks like Phaser and Babylon.... This thoroughly revised edition reflects the current state of JavaScript and Web browsers, with new material, such as a chapter on code performance in... |
| SourceID | skillsoft centerforopeneducation askewsholts proquest |
| SourceType | Aggregation Database Publisher |
| SubjectTerms | Computer Science JavaScript (Computer program language) Programming Languages |
| SubjectTermsDisplay | Electronic books. JavaScript (Computer program language) |
| Subtitle | A Modern Introduction to Programming |
| TableOfContents | Passing Along Arguments -- JSON -- Filtering an Array -- Transforming with map -- Summarizing with reduce -- Composability -- The Cost -- Great-great-great-great-. . . -- Binding -- Summary -- Exercises -- Flattening -- Mother-Child Age Difference -- Historical Life Expectancy -- Every and Then Some -- Chapter 6: The Secret Life of Objects -- History -- Methods -- Prototypes -- Constructors -- Overriding Derived Properties -- Prototype Interference -- Prototype-less Objects -- Polymorphism -- Laying Out a Table -- Getters and Setters -- Inheritance -- The instanceof Operator -- Summary -- Exercises -- A Vector Type -- Another Cell -- Sequence Interface -- Chapter 7: Electronic Life -- Definition -- Representing Space -- A Critter's Programming Interface -- The World Object -- this and Its Scope -- Animating Life -- It Moves -- More Life-forms -- A More Lifelike Simulation -- Action Handlers -- Populating the New World -- Bringing the World to Life -- Exercises -- Artificial Stupidity -- Predators -- Chapter 8: Bugs and Error Handling -- Programmer Mistakes -- Strict Mode -- Testing -- Debugging -- Error Propagation -- Exceptions -- Cleaning Up After Exceptions -- Selective Catching -- Assertions -- Summary -- Exercises -- Retry -- The Locked Box -- Chapter 9: Regular Expressions -- Creating a Regular Expression -- Testing for Matches -- Matching a Set of Characters -- Repeating Parts of a Pattern -- Grouping Subexpressions -- Matches and Groups -- The Date Type -- Word and String Boundaries -- Choice Patterns -- The Mechanics of Matching -- Backtracking -- The replace Method -- Greed -- Dynamically Creating RegExp Objects -- The search Method -- The lastIndex Property -- Looping over Matches -- Parsing an INI File -- International Characters -- Summary -- Exercises -- Regexp Golf -- Quoting Style -- Numbers Again -- Chapter 10: Modules Drawing a Pie Chart -- Text -- Images -- Transformation -- Storing and Clearing Transformations -- Back to the Game -- Choosing a Graphics Interface -- Summary -- Exercises -- Shapes -- The Pie Chart -- A Bouncing Ball -- Precomputed Mirroring -- Chapter 17: HTTP -- The Protocol -- Browsers and HTTP -- XMLHttpRequest -- Sending a Request -- Asynchronous Requests -- Fetching XML Data -- HTTP Sandboxing -- Abstracting Requests -- Promises -- Appreciating HTTP -- Security and HTTPS -- Summary -- Exercises -- Content Negotiation -- Waiting for Multiple Promises -- Chapter 18: Forms and Form Fields -- Fields -- Focus -- Disabled Fields -- The Form as a Whole -- Text Fields -- Checkboxes and Radio Buttons -- Select Fields -- File Fields -- Storing Data Client-Side -- Summary -- Exercises -- A JavaScript Workbench -- Autocompletion -- Conway's Game of Life -- Chapter 19: Project: A Paint Program -- Implementation -- Building the DOM -- The Foundation -- Tool Selection -- Color and Brush Size -- Saving -- Loading Image Files -- Finishing Up -- Exercises -- Rectangles -- Color Picker -- Flood Fill -- Part III: Beyond -- Chapter 20: Node.js -- Background -- Asynchronicity -- The node Command -- Modules -- Installing with NPM -- The Filesystem Module -- The HTTP Module -- Streams -- A Simple File Server -- Error Handling -- Summary -- Exercises -- Content Negotiation, Again -- Fixing a Leak -- Creating Directories -- A Public Space on the Web -- Chapter 21: Project: Skill-Sharing Website -- Design -- Long Polling -- HTTP Interface -- The Server -- Routing -- Serving Files -- Talks as Resources -- Long-Polling Support -- The Client -- HTML -- Starting up -- Displaying Talks -- Updating the Server -- Noticing Changes -- Exercises -- Disk Persistence -- Comment Field Resets -- Better Templates -- Unscriptables -- Chapter 22: JavaScript and Performance Staged Compilation -- Graph Layout -- Defining a Graph -- A First Force-Directed Layout Function -- Profiling -- Function Inlining -- Going Back to Old-school Loops -- Avoiding Work -- Creating Less Garbage -- Garbage Collection -- Writing to Objects -- Dynamic Types -- Summary -- Exercises -- Pathfinding -- Timing -- Optimizing -- Exercise Hints -- Program Structure -- Looping a Triangle -- FizzBuzz -- Chess Board -- Functions -- Minimum -- Recursion -- Bean Counting -- Data Structures: Objects and Arrays -- The Sum of a Range -- Reversing an Array -- A List -- Deep Comparison -- Higher-Order Functions -- Mother-Child Age Difference -- Historical Life Expectancy -- Every and Then Some -- The Secret Life of Objects -- A Vector Type -- Another Cell -- Sequence Interface -- Project: Electronic Life -- Artificial Stupidity -- Predators -- Bugs and Error Handling -- Retry -- The Locked Box -- Regular Expressions -- Quoting Style -- Numbers Again -- Module -- Month Names -- A Return to Electronic Life -- Circular Dependencies -- Project: A Programming Language -- Arrarys -- Closure -- Comments -- Fixing Scope -- The Document Object Model -- Build a Table -- Elements by Tag Name -- Handling Events -- Censored Keyboard -- Mouse Trail -- Tabs -- Project: A Platform Game -- Game Over -- Pausing the Game -- Drawing on Canvas -- Shapes -- The Pie Chart -- A Bouncing Ball -- Precomputed Mirroring -- HTTP -- Content Negotiation -- Waiting for Multiple Promises -- Forms and Form Fields -- A JavaScript Workbench -- Autocompletion -- Conway's Game of Life -- Project: A Paint Program -- Rectangles -- Color Picker -- Flood Fill -- Node.js -- Content Negotiation, Again -- Fixing a Leak -- Creating Directories -- A Public Space on the Web -- Project: Skill-Sharing Website -- Disk Persistence -- Comment Field Resets -- Better Templates -- The Unscriptables JavaScript and Performance Why Modules Help -- Namespacing -- Reuse -- Decoupling -- Using Functions as NameSpaces -- Objects as Interfaces -- Detaching from the Global Scope -- Evaluating Data as Code -- The require Function -- Slow-Loading Modules -- Interface Design -- Predictability -- Composability -- Layered Interfaces -- Summary -- Exercises -- Month Names -- A Return to Electronic Life -- Circular Dependencies -- Chapter 11: Project: A Programming Language -- Parsing -- The Evaluator -- Special Forms -- The Environment -- Functions -- Compilation -- Cheating -- Exercises -- Arrays -- Closure -- Comments -- Fixing Scope -- Part II: Browser -- Chapter 12: JavaScript and the Browser -- Networks and the Internet -- The Web -- HTML -- HTML and JavaScript -- In the Sandbox -- Compatibility and the Browser Wars -- Chapter 13: The Document Object Model -- Document Structure -- Trees -- The Standard -- Moving Through the Tree -- Finding Elements -- Changing the Document -- Creating Nodes -- Attributes -- Layout -- Styling -- Cascading Styles -- Query Selectors -- Positioning and Animating -- Summary -- Exercises -- Build a Table -- Elements by Tag Name -- The Cat's Hat -- Chapter 14: Handling Events -- Event Handlers -- Events and DOM Nodes -- Event Objects -- Propagation -- Default Actions -- Key Events -- Mouse Clicks -- Mouse Motion -- Scroll Events -- Focus Events -- Load Event -- Script Execution Timeline -- Setting Timers -- Debouncing -- Summary -- Exercises -- Censored Keyboard -- Mouse Trail -- Tabs -- Chapter 15: Project: A Platform Game -- The Game -- The Technology -- Levels -- Reading a Level -- Actors -- Encapsulation as a Burden -- Drawing -- Motion and Collision -- Actors and Actions -- Tracking Keys -- Running the Game -- Exercises -- Game Over -- Pausing the Game -- Chapter 16: Drawing on Canvas -- SVG -- The Canvas Element -- Filling and Stroking -- Curves Intro -- Brief Contents -- Contents in Detail -- Introduction -- On Programming -- Why Language Matters -- What Is JavaScript? -- Code, and What to Do with It -- Overview of This Book -- Typographic Conventions -- Part I: Language -- Chapter 1: Values, Types, and Operators -- Values -- Numbers -- Arithmetic -- Special Numbers -- Strings -- Unary Operators -- Boolean Values -- Comparisons -- Logical Operators -- Undefined Values -- Automatic Type Conversion -- Short-Circuiting of Logical Operators -- Summary -- Chapter 2: Program Structure -- Expressions and Statements -- Variables -- Keywords and Reserved Words -- The Environment -- Functions -- The console.log Function -- Return Values -- Prompt and Confirm -- Control Flow -- Conditional Execution -- while and do Loops -- Indenting Code -- for Loops -- Breaking Out of a Loop -- Updating Variables Succinctly -- Dispatching on a Value with switch -- Capitalization -- Comments -- Summary -- Exercises -- Looping a Triangle -- FizzBuzz -- Chess Board -- Chapter 3: Functions -- Defining a Function -- Parameters and Scopes -- Nested Scopes -- Functions as Values -- Declaration Notation -- The Call Stack -- Optional Arguments -- Closure -- Recursion -- Growing Functions -- Functions and Side Effects -- Summary -- Exercises -- Minimum -- Recursion -- Bean Counting -- Chapter 4: Data Structures: Objects and Arrays -- The Weresquirrel -- Data Sets -- Properties -- Methods -- Objects -- Mutability -- The Lycanthrope's Log -- Computing Correlation -- Objects as Maps -- The Final Analysis -- Further Arrayology -- Strings and Their Properties -- The arguments Object -- The Math Object -- The Global Object -- Summary -- Exercises -- The Sum of a Range -- Reversing an Array -- A List -- Deep Comparison -- Chapter 5: Higher-Order Functions -- Abstraction -- Abstracting Array Traversal -- Higher-Order Functions Introduction -- Part 1: Language -- 1 Values, Types, and Operators -- 2 Program Structure -- 3 Functions -- 4 Data Structures: Object and Arrays -- 5 Higher-Order Functions -- 6 The Secret Life of Objects -- 7 Project: A Robot -- 8 Bugs and Errors -- 9 Regular Expressions -- 10 Modules -- 11 Asynchronous Programming -- 12 Project: A Programming Language -- Part 2: Browser -- 13 JavaScript and the Browser -- 14 The Document Object Model -- 15 Handling Events -- 16 Project: A Platform Game -- 17 Drawing on Canvas -- 18 HTTP and Forms -- 19 Project: A Pixel Art Editor -- Part 3: Node -- 20 Node.js -- 21 Project: Skill-Sharing Website -- Exercise Hints |
| Title | Eloquent JavaScript |
| URI | https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=1931623 https://www.vlebooks.com/vleweb/product/openreader?id=none&isbn=9781593276614 https://open.umn.edu/opentextbooks/textbooks/453 http://www.books24x7.com/marc.asp?bookid=77614 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3da9swEL8lbWHLy7asZVk_FkbfhsGyLct6XEva0I9ksLTkzUiWDFmMO-os5LX_eU-Ov1L60kJfhCWDhO7E3e8n3UkAx1Ir5XOhLRlrJCiCc0s4PLYUE75ni8ijbp4ofMVGo2A65b9b7x7KXJhlwtI0WK34vzdVNbahsk3q7AvUXXWKDfiNSscS1Y7lE0RcVYuN9cQY-XTx80IsxZ_cGtT2Bach9ToQ5xrp8d-0SfeJ94Tuj-4MCjXbIc0QjTUbRGTiOswgitq4lwfaw1-bbbkHG0-uZipnCdRtQ5v5yF63zwfjm8t6mwp_oXczKXFV78VNWVW9Ax2RzdEmo71eZB3YM3GleXC-eQFMl4EqGxj-fTafJUmGrqbhziefYFubHI_P0NJpFz6WL1v0C0P3BbqlLPu1LHfh9mwwOR1axfMRlkBWSHxLR45SXAWc0Nj1tO1JyogUCGAjnykbqRxzoyCmgvlU2yQw1IooyuxI8FgGgbsHW-ldqr9CP46YcgRHtiyYp2MpPWLzmGhqK6rcSPTgR0ME4TLJj7qzsJKTgUE9YM9LJjQ1E-jTSHwLm8rpQb8UXZj3XETuhoOTU0TgBDFsD75XIg3zwR1vxUI5NxeFMYbDf3v18PvwoV6KB7C1uP-vD2EnWi5m2f1RsWQeAd8eO7o |
| linkProvider | ProQuest Ebooks |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.title=Eloquent+JavaScript&rft.au=Haverbeke%2C+Marijn&rft.date=2014-01-01&rft.pub=No+Starch+Press&rft.isbn=9781593275846&rft.externalDBID=HA&rft.externalDocID=OTLid0000453 |
| thumbnail_m | http://cvtisr.summon.serialssolutions.com/2.0.0/image/custom?url=https%3A%2F%2Fvle.dmmserver.com%2Fmedia%2F640%2F97815932%2F9781593276614.jpg |

