Rethink JavaScript with this complete and comprehensive guide to a unique and innovative approach to the leading language of web development. This book shows you everything you need to learn object oriented JavaScript, demonstrating valuable techniques and strategies that you can use to fully experience the impressive capabilities of the language. Dive deeper into JavaScript and explore its data structure, and learn how to put its objects to work to write more efficient and elegant code. With an object oriented approach to JavaScript you will optimize and improve your projects and productivity, and uncover a modern and forward-thinking development methodology.
Gain an in-depth knowledge of JavaScript’s data structures, and learn how different components interact with one another. Look closely at numbers, Booleans and strings, and learn how arrays, loops and conditions help you to effectively manipulate and work with complex data using JavaScript. You’ll also find guidance and insight into the relationship between functions and objects, as well as accessible instructions on how to use them most effectively when working with JavaScript. Learn how to use prototypes, including augmenting built-in objects and learn coding patterns and design patterns to improve your JavaScript code.
Stoyan Stefanov is a Facebook engineer, author, and speaker. He talks regularly about web development topics at conferences and his blog www.phpied.com, and also runs a number of other sites, including JSPatterns.com—a site dedicated to exploring JavaScript patterns. Previously at Yahoo!, Stoyan was the architect of YSlow 2.0 and creator of the image optimization tool Smush.it.
Kumar Chetan Sharma studied to be an electronics engineer and has always wanted to build an ultimate sound system. He then, by chance, got a part time job as a trainee HTML guy. From there he picked up CSS and JavaScript and there was no looking back. It was the time when JavaScript was used to validate forms or create fancy DHTML effects and IE6 was the only browser the world knew. He has been developing web applications since then, using LAMP stack. He has worked on white label social networking applications to web control panels for telecom and networked electrical charger infrastructures. He currently works as a frontend engineer for Yahoo! Search.
Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.
Stoyan Stefanov
Stoyan Stefanov is a Yahoo! web developer, Zend Certified Engineer, book author and contributor to the international PHP community. He talks regularly about JavaScript, PHP and other web development topics at conferences and his blog http://www.phpied.com and also runs a number of other sites, including http://www.JSPatterns.com - a site dedicated to exploring JavaScript patterns. Stoyan is the engineering lead of Yahoo's performance optimization tool YSlow, as well as other open-source tools and PEAR libraries.
Preface
Chapter 1: Object-oriented JavaScript
Chapter 2: Primitive Data Types, Arrays, Loops, and Conditions
Chapter 3: Functions
Chapter 4: Objects
Chapter 5: Prototype
Chapter 6: Inheritance
Chapter 7: The Browser Environment
Chapter 8: Coding and Design Patterns
Appendix A: Reserved Words
Appendix B: Built-in Functions
Appendix C: Built-in Objects
Appendix D: Regular Expressions
Index
Preface
Up
Chapter 1: Object-oriented JavaScript
A bit of history
Browser wars and renaissance
The present
The future
ECMAScript 5
Object-oriented programming
Objects
Classes
Encapsulation
Aggregation
Inheritance
Polymorphism
OOP summary
Setting up your training environment
WebKit's Web Inspector
JavaScriptCore on a Mac
More consoles
Summary
Up
Chapter 2: Primitive Data Types, Arrays, Loops, and Conditions
Variables
Variables are case sensitive
Operators
Primitive data types
Finding out the value type – the typeof operator
Numbers
Octal and hexadecimal numbers
Exponent literals
Infinity
NaN
Strings
String conversions
Special strings
Booleans
Logical operators
Operator precedence
Lazy evaluation
Comparison
Undefined and null
Primitive data types recap
Arrays
Adding/updating array elements
Deleting elements
Arrays of arrays
Conditions and loops
The if condition
The else clause
Code blocks
Checking if a variable exists
Alternative if syntax
Switch
Loops
While loops
Do-while loops
For loops
For-in loops
Comments
Summary
Exercises
Up
Chapter 3: Functions
What is a function?
Calling a function
Parameters
Predefined functions
parseInt()
parseFloat()
isNaN()
isFinite()
eval()
Scope of variables
Variable hoisting
Functions are data
Anonymous functions
Callback functions
Callback examples
Immediate functions
Inner (private) functions
Functions that return functions
Function, rewrite thyself!
Closures
Scope chain
Breaking the chain with a closure
Closure #1
Closure #2
A definition and closure #3
Closures in a loop
Getter/setter
Iterator
Summary
Exercises
Up
Chapter 4: Objects
From arrays to objects
Elements, properties, methods, and members
Hashes and associative arrays
Accessing an object's properties
Calling an object's methods
Altering properties/methods
Using the this value
Constructor functions
The global object
The constructor property
The instanceof operator
Functions that return objects
Passing objects
Comparing objects
Objects in the WebKit console
console.log
Built-in objects
Object
Array
A few array methods
Function
Properties of function objects
Methods of function objects
The arguments object revisited
Inferring object types
Boolean
Number
String
A few methods of string objects
Math
Date
Methods to work with date objects
RegExp
Properties of RegExp objects
Methods of RegExp objects
String methods that accept regular expressions as arguments
search() and match()
replace()
Replace callbacks
split()
Passing a string when a RegExp is expected
Error objects
Summary
Exercises
Up
Chapter 5: Prototype
The prototype property
Adding methods and properties using the prototype
Using the prototype's methods and properties
Own properties versus prototype properties
Overwriting a prototype's property with an own property
Enumerating properties
isPrototypeOf()
The secret __proto__ link
Augmenting built-in objects
Augmenting built-in objects – discussion
Prototype gotchas
Summary
Exercises
Up
Chapter 6: Inheritance
Prototype chaining
Prototype chaining example
Moving shared properties to the prototype
Inheriting the prototype only
A temporary constructor – new F()
Uber – access to the parent from a child object
Isolating the inheritance part into a function
Copying properties
Heads-up when copying by reference
Objects inherit from objects
Deep copy
object()
Using a mix of prototypal inheritance and copying properties
Multiple inheritance
Mixins
Parasitic inheritance
Borrowing a constructor
Borrow a constructor and copy its prototype
Summary
Case study – drawing shapes
Analysis
Implementation
Testing
Exercises
Up
Chapter 7: The Browser Environment
Including JavaScript in an HTML page
BOM and DOM – an overview
BOM
The window object revisited
window.navigator
Your console is a cheat sheet
window.location
window.history
window.frames
window.screen
window.open()/close()
window.moveTo() and window.resizeTo()
window.alert(), window.prompt(), and window.confirm()
window.setTimeout() and window.setInterval()
window.document
DOM
Core DOM and HTML DOM
Accessing DOM nodes
The document node
documentElement
Child nodes
Attributes
Accessing the content inside a tag
DOM access shortcuts
Siblings, body, first, and last child
Walk the DOM
Modifying DOM nodes
Modifying styles
Fun with forms
Creating new nodes
DOM-only method
cloneNode()
insertBefore()
Removing nodes
HTML-only DOM objects
Primitive ways to access the document
document.write()
Cookies, title, referrer, domain
Events
Inline HTML attributes
Element Properties
DOM event listeners
Capturing and bubbling
Stop propagation
Prevent default behavior
Cross-browser event listeners
Types of events
XMLHttpRequest
Sending the request
Processing the response
Creating XMLHttpRequest objects in IE prior to Version 7
A is for Asynchronous
X is for XML
An example
Summary
Exercises
Up
Chapter 8: Coding and Design Patterns
Coding patterns
Separating behavior
Content
Presentation
Behavior
Example of separating behavior
Asynchronous JavaScript loading
Namespaces
An Object as a namespace
Namespaced constructors
A namespace() method
Init-time branching
Lazy definition
Configuration object
Private properties and methods
Privileged methods
Private functions as public methods
Immediate functions
Modules
Chaining
JSON
Design patterns
Singleton
Singleton 2
Global variable
Property of the Constructor
...
Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.
EUR 10,21 per la spedizione da U.S.A. a Italia
Destinazione, tempi e costiEUR 0,54 per la spedizione da U.S.A. a Italia
Destinazione, tempi e costiDa: ThriftBooks-Dallas, Dallas, TX, U.S.A.
Paperback. Condizione: Good. No Jacket. Pages can have notes/highlighting. Spine may show signs of wear. ~ ThriftBooks: Read More, Spend Less 1.6. Codice articolo G1849693129I3N00
Quantità: 1 disponibili
Da: Better World Books: West, Reno, NV, U.S.A.
Condizione: Very Good. 2nd New edition. Used book that is in excellent condition. May show signs of wear or have minor defects. Codice articolo 51996295-75
Quantità: 1 disponibili
Da: PBShop.store US, Wood Dale, IL, U.S.A.
PAP. Condizione: New. New Book. Shipped from UK. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. Codice articolo L0-9781849693127
Quantità: Più di 20 disponibili
Da: California Books, Miami, FL, U.S.A.
Condizione: New. Codice articolo I-9781849693127
Quantità: Più di 20 disponibili
Da: PBShop.store UK, Fairford, GLOS, Regno Unito
PAP. Condizione: New. New Book. Delivered from our UK warehouse in 4 to 14 business days. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. Codice articolo L0-9781849693127
Quantità: Più di 20 disponibili
Da: Majestic Books, Hounslow, Regno Unito
Condizione: New. pp. 382 3:B&W 7.5 x 9.25 in or 235 x 191 mm Perfect Bound on White w/Gloss Lam. Codice articolo 96256870
Quantità: 1 disponibili
Da: Books Puddle, New York, NY, U.S.A.
Condizione: New. pp. 382 Index. Codice articolo 2697221817
Quantità: 1 disponibili
Da: Ria Christie Collections, Uxbridge, Regno Unito
Condizione: New. In. Codice articolo ria9781849693127_new
Quantità: Più di 20 disponibili
Da: Biblios, Frankfurt am main, HESSE, Germania
Condizione: New. pp. 382. Codice articolo 1897221811
Quantità: 1 disponibili
Da: THE SAINT BOOKSTORE, Southport, Regno Unito
Paperback / softback. Condizione: New. This item is printed on demand. New copy - Usually dispatched within 5-9 working days 686. Codice articolo C9781849693127
Quantità: Più di 20 disponibili