Free Downloads
JavaScript: The Good Parts

Most programming languages contain good and bad parts, but JavaScript has more than its share of the bad, having been developed and released in a hurry before it could be refined. This authoritative book scrapes away these bad features to reveal a subset of JavaScript that's more reliable, readable, and maintainable than the language as a whole—a subset you can use to create truly extensible and efficient code.Considered the JavaScript expert by many people in the development community, author Douglas Crockford identifies the abundance of good ideas that make JavaScript an outstanding object-oriented programming language-ideas such as functions, loose typing, dynamic objects, and an expressive object literal notation. Unfortunately, these good ideas are mixed in with bad and downright awful ideas, like a programming model based on global variables.When Java applets failed, JavaScript became the language of the Web by default, making its popularity almost completely independent of its qualities as a programming language. In JavaScript: The Good Parts, Crockford finally digs through the steaming pile of good intentions and blunders to give you a detailed look at all the genuinely elegant parts of JavaScript, including:SyntaxObjectsFunctionsInheritanceArraysRegular expressionsMethodsStyleBeautiful featuresThe real beauty? As you move ahead with the subset of JavaScript that this book presents, you'll also sidestep the need to unlearn all the bad parts. Of course, if you want to find out more about the bad parts and how to use them badly, simply consult any other JavaScript book.With JavaScript: The Good Parts, you'll discover a beautiful, elegant, lightweight and highly expressive language that lets you create effective code, whether you're managing object libraries or just trying to get Ajax to run fast. If you develop sites or applications for the Web, this book is an absolute must.

Paperback: 176 pages

Publisher: O'Reilly Media; 1st edition (May 2008)

Language: English

ISBN-10: 0596517742

ISBN-13: 978-0596517748

Product Dimensions: 7 x 0.4 x 9.2 inches

Shipping Weight: 11.2 ounces (View shipping rates and policies)

Average Customer Review: 4.1 out of 5 stars  See all reviews (553 customer reviews)

Best Sellers Rank: #8,551 in Books (See Top 100 in Books) #3 in Books > Computers & Technology > Programming > Web Programming > JavaScript #6 in Books > Computers & Technology > Web Development & Design > Web Design #7 in Books > Textbooks > Computer Science > Software Design & Engineering

Do you struggle when creating objects in Javascript?Do you find the syntax to be non-intuitive and frustrating?Do you know the difference between using a function as an object vs using an object literal?Do you know how using object literals can simplify your code and create something similar to namespaces?Do you know how to augment the type system -- for example, if wanted all strings to have a trim() method?Do you know why the "new" statement is so dangerous? Do you know an alternative that eliminates the use of "new" entirely?These are some of the topics that the book touches upon.This book is aimed at someone with intermediate programming experience that wants to know the best way to create and use objects, arrays, types, etc. Crockford takes his experience with Javascript to show you best practices coding techniques and styles to use with Javascript. In addition, the book provides insights into what makes Javascript so confusing and what can be done about it.You might ask "Isn't this stuff already covered in other books that I have?" The answer is no. For one, most other books use a psuedo-classical coding style (see below) to explain objects that is a source of confusion.Javascript can be very confusing, especially for programmers who have extensive experience in other C-based languages (like myself). Writing good Javascript that uses objects, methods, etc. is hard. In Javascript, if you want to create objects, use inheritance and create methods, you have several different ways to write your code and it's difficult to know what the strengths and weaknesses of each are.Crockford explains the problem plainly. Other C-based languages use class inheritance (Crockford calls this classical inheritance).

I'm a long-time C, C++, and Java programmer (videogames, predominantly) learning Javascript to do some web work, so I picked up this book because the reviews were good and the notion appealed to me - learn the subset of this rather sloppy language that you can use as a good language.My TL;DR version of the review: this book is a hodgepodge of different information about the language, but some of it is so complicated it'll go immediately over the heads of new programmers, and then some of it is so mundane (even pedantic, talking about very specific aspects of coding styles) it felt goofy and out of place. It seems to me that any specific individual reading this book won't really find more than one or two chapters very relevant. I give it 3 stars because the useful parts were useful to me, but I skimmed and ignored 80+% of the book.Crockford's writing is personable and clear, and the book's organization is straightforward. Here's my chapter-by-chapter breakdown. Note that this is all from my perspective, what I personally found useful or not, but my point is, while other readers will certainly disagree with me about what was useful, I have trouble imagining any one person finding more than about 20% of the book useful.Chapter 1 is an introduction and high-level explanation of the point of the book.Chapter 2 covers basic grammar and the likes, which was helpful though it's not aimed at any particular familiarity with other languages so it's trying to be comprehensive, which meant that as an experienced programmer in other languages I had to skim it and just look for differences with what I'm already used to.

Let me begin by saying that Head First Javascript is a good book, at least compared to any other JS books I've seen. It isn't, however, a particularly good "Head First" book.What I mean by this is that the other Head First books I've used (XHTML & CSS, SQL, and C#) have been highly interactive, easy to use, and really got the concepts into my head. I was amazed that, after just a few days with these books, I could actually build professional-looking web pages that were rigorously standards compliant; or create complex applications in C# quickly and easily; or navigate the intricacies of building and using SQL databases. The Head First method certainly seemed to work.So when I heard the HF people were producing a JS book, I was overjoyed. Sadly, it's been a bit of a letdown. The book smacks strongly of rushed production, lacking many of the features that makes the HF series special. For example, in the C# book, the authors take the reader through application construction in a step-by-step manner, carefully explaining everything as they go. The effect is of a very knowledgeable teacher standing over your shoulder and guiding you while you code. The reader is actively involved in every exercise, building their code from scratch. There are copies of every piece of code available for download at Head First's website, but these are merely tools for checking the reader's work.In the Javascript book, however, much of the interactivity is missing. The book reads like a walkthrough of the code samples, with most of the user participation taking the form of pencil and paper exercises. The reader could actually complete the book without switching on her PC.

Javascript: A Pocket Key to JavaScript for beginners (JavaScript Programming, JavaScript Beginners, JavaScript for web developers, JavaScript Beginners Guide, Java Programming for Beginners) Javascript: Beginner to Expert with Javascript Programming (Javascript, Javascript Programming, Javascript for Beginners, Java, Java Programming, Java for Beginners,) JavaScript: QuickStart Guide - The Simplified Beginner's Guide To JavaScript (JavaScript, JavaScript Programming, JavaScript and Jquery) Javascript: Learn Javascript In A DAY! - The Ultimate Crash Course to Learning the Basics of the Javascript Programming Language In No Time (Javascript, ... JSON, Javascript Development Book 1) JavaScript: The Good Parts: The Good Parts JAVASCRIPT: Easy JavaScript Programming For Beginners. Your Step-By-Step Guide to Learning JavaScript Programming (JavaScript Series) JAVASCRIPT: JavaScript in 8 Hours, For Beginners, Learn JavaScript Fast! A Smart Way to Learn JS, Plain & Simple, Learn JS Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! JavaScript: The Good Parts Learning PHP, MySQL & JavaScript: With jQuery, CSS & HTML5 (Learning Php, Mysql, Javascript, Css & Html5) JavaScript OO Interview Questions: JavaScript OO Interview Questions Exam Ref 70-480 Programming in HTML5 with JavaScript and CSS3 (MCSD): Programming in HTML5 with JavaScript and CSS3 JavaScript: The Ultimate Crash Course Learning JavaScript within a Day with New Approach for Faster Programming (Save Time and Effort) Functional Programming in JavaScript: How to improve your JavaScript programs using functional techniques JavaScript: Crash Course - The Ultimate Beginner's Course to Learning JavaScript Programming in Under 12 Hours Carmen: Chorus Parts (French, English Language Edition), Chorus Parts (Kalmus Edition) (French Edition) The Barber of Seville: Chorus Parts (Italian, English Language Edition), Chorus Parts (Kalmus Edition) (Italian Edition) H.M.S. Pinafore: Chorus Parts (English Language Edition), Chorus Parts (Kalmus Edition) Sonatas da Camera a Tre, Op. 1, Vol 1: Nos. 1-6 Score & Parts (with Piano), Score & Parts (Kalmus Edition) Good Gut: The Next Thing You Should Do If You Want to Heal Your Gut and Improve Your Intestinal Health (good gut guide, gut health, good gut diet) Gay Marriage: Why It Is Good for Gays, Good for Straights, and Good for America