(Ebook) Professional JavaScript for Web Developers by Nicholas C. Zakas ISBN 9780764579080, 0764579088 instant download
(Ebook) Professional JavaScript for Web Developers by Nicholas C. Zakas ISBN 9780764579080, 0764579088 instant download
https://ebooknice.com/product/professional-javascript-for-web-
developers-933136
https://ebooknice.com/product/professional-javascript-for-web-
developers-2502660
https://ebooknice.com/product/professional-javascript-for-web-
developers-1083034
https://ebooknice.com/product/understanding-ecmascript-6-the-
definitive-guide-for-javascript-developers-5536312
https://ebooknice.com/product/high-performance-javascript-build-
faster-web-application-interfaces-1321550
(Ebook) Maintainable JavaScript by Nicholas C. Zakas ISBN
9781449327682, 1449327680
https://ebooknice.com/product/maintainable-javascript-43788936
https://ebooknice.com/product/the-principles-of-object-oriented-
javascript-11864310
https://ebooknice.com/product/professional-ajax-2nd-edition-5473674
https://ebooknice.com/product/professional-ajax-2nd-edition-
programmer-to-programmer-2020826
https://ebooknice.com/product/javascript-for-web-developers-
understanding-the-basics-53488768
Professional JavaScript™ for Web Developers
Professional JavaScript™ for Web Developers
Nicholas C. Zakas
Professional JavaScript™ for Web Developers
Copyright © 2005 by Wiley Publishing Inc. All rights reserved.
Published by Wiley Publishing, Inc., Indianapolis, Indiana
Published simultaneously in Canada
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form
or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as
permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior
written permission of the Publisher, or authorization through payment of the appropriate per-copy fee
to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax
(978) 646-8700. Requests to the Publisher for permission should be addressed to the Legal Department,
Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317)
572-4355, or online at www.wiley.com/go/permissions.
For general information on our other products and services please contact our Customer Care Depart-
ment within the United States at (800) 762-2974, outside the United States at (317) 572-3993 or fax (317)
572-4002.
Trademarks: Wiley, the Wiley Publishing logo, Wrox, the Wrox logo, and Programmer to Programmer
are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates. JavaScript is a
trademark of Sun Microsystems, Inc. in the United States and other countries. All other trademarks are
the property of their respective owners. Wiley Publishing, Inc., is not associated with any product or
vendor mentioned in this book.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print
may not be available in electronic books.
Library of Congress Cataloging-in-Publication Data is available from the publisher.
ISBN-13: 978-0-7645-7908-0
ISBN-10: 0-7645-7908-8
Printed in the United States of America
10 9 8 7 6 5 4 3 2 1
About the Author
Nicholas C. Zakas is a user interface designer for Web applications, specializing in client-side technolo-
gies such as JavaScript, HTML, and CSS. Nicholas currently works as Senior Software Engineer, Design
Engineering, at MatrixOne, Inc. located in Westford, Massachusetts, USA.
Nicholas has a B.S. in Computer Science from Merrimack College, where he learned traditional pro-
gramming in C and C++. During college, he began investigating the World Wide Web and HTML in his
spare time, eventually teaching himself enough to be hired as Webmaster of a small software company
named Radnet, Inc. in Wakefield, Massachusetts, USA. It was there that Nicholas began learning
JavaScript and working on Web applications.
It takes more than just one person to write a book of this nature, despite the single name on the front
cover. Without the help of numerous individuals, this book would not have been possible.
First are foremost, thanks to everyone at Wiley Publishing, especially Jim Minatel and Sharon Nash, for
providing all the guidance and support that a new author needs.
Thanks to all those who offered their ideas on what a good JavaScript book should include: Keith
Ciociola, Ken Fearnley, John Rajan, and Douglas Swatski.
A special thanks to everyone who reviewed the subject matter ahead of time: Erik Arvidsson, Bradley
Baumann, Guilherme Blanco, Douglas Crockford, Jean-Luc David, Emil A. Eklund, Brett Fielder, Jeremy
McPeak, and Micha Schopman. All your input was excellent and made for a much better book.
Thanks to Drs. Ed and Frances Bernard for keeping me in tip-top health during the writing of this book
and the past few years.
Last, but certainly not least, thanks to my family, mom, dad, and Greg, and my extremely understanding
girlfriend, Emily. Your love and support helped take me from the proposal to the final published copy.
vii
Contents
Acknowledgments vii
Introduction xxi
ix
Contents
The String class 29
The instanceof operator 32
Operators 33
Unary operators 33
Bitwise operators 37
Boolean operators 43
Multiplicative operators 46
Additive operators 47
Relational operators 49
Equality operators 50
Conditional operator 52
Assignment operators 52
Comma operator 53
Statements 53
The if statement 53
Iterative statements 54
Labeled statements 56
The break and continue statements 56
The with statement 58
The switch statement 58
Functions 59
No overloading 61
The arguments object 62
The Function class 63
Closures 65
Summary 66
x
Contents
Scope 88
Public, protected, and private 88
Static is not static 88
The this keyword 89
Defining Classes and Objects 90
Factory paradigm 90
Constructor paradigm 92
Prototype paradigm 93
Hybrid constructor/prototype paradigm 94
Dynamic prototype method 95
Hybrid factory paradigm 96
Which one to use? 97
A practical example 97
Modifying Objects 99
Creating a new method 99
Redefining an existing method 100
Very late binding 101
Summary 102
xi
Contents
JavaScript in SVG 133
Basic SVG 133
The <script/> tag in SVG 134
Tag placement in SVG 135
The Browser Object Model 136
The window object 136
The document object 149
The location object 153
The navigator object 155
The screen object 156
Summary 157
xii
Contents
Simple Patterns 197
Metacharacters 197
Using special characters 197
Character classes 199
Quantifiers 201
Complex Patterns 205
Grouping 205
Backreferences 206
Alternation 207
Non-capturing groups 209
Lookaheads 210
Boundaries 210
Multiline mode 212
Understanding the RegExp Object 212
Instance properties 213
Static properties 214
Common Patterns 216
Validating dates 216
Validating credit cards 218
Validating e-mail addresses 222
Summary 223
xiii
Contents
Detecting Konqueror/Safari 239
Detecting Internet Explorer 241
Detecting Mozilla 242
Detecting Netscape Communicator 4.x 243
The Platform/Operating System Detection Script 244
Methodology 244
First steps 245
Detecting Windows operating systems 245
Detecting Macintosh operating systems 247
Detecting Unix operating systems 248
The Full Script 249
Example: A Login Page 252
Summary 259
xiv
Contents
xv
Contents
Moving Options 361
Reordering options 361
Creating an Autosuggest Text Box 362
Matching 362
The guts 363
Summary 365
xvi
Contents
xvii
Contents
Chapter 16: Client-Server Communication 481
Cookies 481
Cookie ingredients 482
Other security restrictions 482
Cookies in JavaScript 483
Cookies on the server 485
Passing cookies between client and server 488
Hidden Frames 490
Using iframes 491
HTTP Requests 493
Using headers 495
Copycat implementations 496
Performing a GET request 496
Performing a POST request 497
LiveConnect Requests 498
Performing a GET request 498
Performing a POST request 500
Intelligent HTTP Requests 502
The get() method 502
The post() method 505
Practical Uses 506
Summary 507
xviii
Exploring the Variety of Random
Documents with Different Content
The Project Gutenberg eBook of La guerre
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with
this ebook or online at www.gutenberg.org. If you are not located
in the United States, you will have to check the laws of the country
where you are located before using this eBook.
Title: La guerre
Language: French
LA
GUERRE
PAR STEINLEN
Numéro Spécial
L’ART ET LES ARTISTES
ILLUSTRATIONS
Cinquante-sept illustrations dont CINQUANTE-DEUX d’après des dessins
originaux, lithographies, eaux-fortes, lavis et croquis de Steinlen; une
d’après une eau-forte de Louis Orr et QUATRE d’après les En-Têtes de
Chapitres et Lettres ornées spécialement exécutés pour l’ouvrage, par J.
Mosso.
ÉPREUVES D’ART
Couverture d’après un lavis original: La Fuite, de Steinlen.
La Vieille des Ruines, hors texte d’après une lithographie de Steinlen.
Intérieur de la Cathédrale de Janvier 1918, hors-texte
Reims, en d’après une
eau-forte de Louis Orr.
Tous droits de reproduction, de traduction et d’adaptation
réservés pour tous pays.
Les Articles publiés par L’Art et les Artistes deviennent la propriété de
la Revue.
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebooknice.com