JavaScript step by step, 3rd edition - Pdf 10



JavaScript Step by Step,
Third Edition
Steve Suehring
Published with the authorization of Microsoft Corporation by:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, California 95472
Copyright © 2013 by Steve Suehring
All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any
means without the written permission of the publisher.
ISBN: 978-0-7356-6593-4
3 4 5 6 7 8 9 10 11 LSI 8 7 6 5 4 3
Printed and bound in the United States of America.
Microsoft Press books are available through booksellers and distributors worldwide. If you need support related
to this book, email Microsoft Press Book Support at Please tell us what you think of
this book at
Microsoft and the trademarks listed at />Trademarks/EN-US.aspx are trademarks of the Microsoft group of companies. All other marks are property of
their respective owners.
The example companies, organizations, products, domain names, email addresses, logos, people, places, and
events depicted herein are ctitious. No association with any real company, organization, product, domain name,
email address, logo, person, place, or event is intended or should be inferred.
This book expresses the author’s views and opinions. The information contained in this book is provided without
any express, statutory, or implied warranties. Neither the authors, O’Reilly Media, Inc., Microsoft Corporation,
nor its resellers, or distributors will be held liable for any damages caused or alleged to be caused either directly
or indirectly by this book.
Acquisitions and Developmental Editor: Russell Jones
Production Editor: Melanie Yarbrough
Editorial Production: nSight, Inc.
Technical Reviewer: John Grieb

CHAPTER 18 Mobile development with jQuery Mobile 307
CHAPTER 19 Getting data into JavaScript 327
PART III AJAX AND SERVER-SIDE INTEGRATION
CHAPTER 20 Using AJAX 335
CHAPTER 21 Developing for Windows 8 353
vi Contents at a Glance
PART IV JAVASCRIPT AND WINDOWS 8
CHAPTER 22 Using Visual Studio for Windows 8 development 363
CHAPTER 23 Creating a Windows app 381
APPENDIX A Answer key to exercises 403
APPENDIX B Writing JavaScript with other tools 425
Index 439
vii
Contents
Introduction xix
PART I JAVAWHAT? THE WHERE, WHY,
AND HOW OF JAVASCRIPT
Chapter 1 JavaScript is more than you might think 3
A brief history of JavaScript. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Enter Internet Explorer 3.0 4
And then came ECMAScript 4
So many standards 5
The DOM 5
What’s in a JavaScript program? 6
JavaScript placement on your webpage 7
What JavaScript can do 10
What JavaScript can’t do 10
JavaScript can’t be forced on a client 10
JavaScript can’t guarantee data security 11
JavaScript can’t cross domains 11

Reserved words in JavaScript 35
A quick look at functions 36
JavaScript’s strict mode 38
Exercises 39
Chapter 4 Working with variables and data types 41
Data types in JavaScript 41
Working with numbers 42
Working with strings 47
Booleans 50
Null 50
Undened 50
Contents ix
Objects 51
Arrays 51
Dening and using variables 52
Declaring variables 52
Variable types 53
Variable scope 53
The Date object 61
Using the RegExp object 70
The syntax of regular expressions 71
References and garbage collection 75
Learning about type conversions 76
Number conversions 76
String conversions 76
Boolean conversions 76
Exercises 77
Chapter 5 Using operators and expressions 79
Meet the operators 79
Additive operators 80

The for in loop 113
The for each in loop 115
Validating forms with conditionals 116
Exercises 118
Chapter 7 Working with functions 119
What’s in a function? 119
Function parameters 120
Variable scoping revisited 121
Return values 123
More on calling functions 124
Anonymous/unnamed functions (function literals) 126
Closures 126
Methods 127
A look at dialog functions 127
Exercises 131
Contents xi
Chapter 8 Objects in JavaScript 133
Object-oriented development 133
Objects 133
Properties 134
Methods 134
Classes 134
Creating objects 137
Adding properties to objects 138
Adding methods to objects 141
Finding out more about arrays 141
The length property 142
Array methods 142
Taking advantage of built-in objects 148
Making URIs safe 148

Connecting jQuery to the load event 175
Using selectors 177
Selecting elements by ID 177
Selecting elements by class 177
Selecting elements by type 178
Selecting elements by hierarchy 178
Selecting elements by position 179
Selecting elements by attribute. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181
Selecting form elements 182
More selectors 183
Functions 183
Traversing the DOM 183
Working with attributes 188
Changing text and HTML 188
Inserting elements 189
Callback functions 190
More jQuery 190
Exercises 190
Contents xiii
PART II INTEGRATING JAVASCRIPT INTO DESIGN
Chapter 12 The Document Object Model 193
The Document Object Model dened 193
DOM Level 0: The legacy DOM 194
DOM Levels 1 through 3 194
The DOM as a tree 194
Working with nodes 196
Retrieving elements 196
Retrieving elements by ID 196
Retrieving by tag name 200
HTML collections 203

Chapter 14 Working with images in JavaScript 235
Working with image hovers 235
A simple hover 235
Modern hovers with jQuery 237
A closer look at the exercise 240
Preloading images 242
Working with slide shows 244
Creating a slide show 244
Moving backward 247
A jQuery slide show 250
Working with image maps 251
Exercises 255
Chapter 15 Using JavaScript with web forms 257
JavaScript and web forms 257
Validation with JavaScript 257
Validation with jQuery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .260
Working with form information 261
Working with select boxes 261
Working with check boxes 265
Working with radio buttons 268
Pre-validating form data 269
Contents xv
Hacking JavaScript validation 270
Validating a text eld 273
Exercises 275
Chapter 16 JavaScript and CSS 277
What is CSS? 277
Using properties and selectors 278
Applying CSS 279
The relationship between JavaScript and CSS 280

Adding buttons to toolbars 321
Other toolbar enhancements 322
Even more jQuery Mobile 326
Exercises 326
Chapter 19 Getting data into JavaScript 327
JavaScript application architecture 327
The big three: display, behavior, data 327
JavaScript and web interfaces 329
Introduction to AJAX 329
AJAX with jQuery 330
AJAX without the X 330
What’s Next? 331
PART III AJAX AND SERVER-SIDE INTEGRATION
Chapter 20 Using AJAX 335
The XMLHttpRequest object 335
Instantiating the XMLHttpRequest object 335
Sending an AJAX request 337
Processing an AJAX response 339
Processing XML responses 343
Working with JSON 344
Processing headers 345
Using the POST method 346
AJAX and jQuery 348
Contents xvii
AJAX errors and time-outs 351
Sending data to the server 351
Other important options 352
Exercise 352
Chapter 21 Developing for Windows 8 353
Windows 8 apps 353

Customizing the Package Manifest 396
Adding a splash screen, logo, and tile image 396
Dening capabilities 397
Testing the app 398
Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .402
Appendix A Answer key to exercises 403
Appendix B Writing JavaScript with other tools 425
Index 439
What do you think of this book? We want to hear from you!
Microsoft is interested in hearing your feedback so we can continually improve our
books and learning resources for you. To participate in a brief online survey, please visit:
microsoft.com/learning/booksurvey
xix
Introduction
M
uch has changed since the rst edition of JavaScript Step by Step was written in
2007: the underlying JavaScript specication received a major update; Microsoft
released new versions of Internet Explorer and Windows; the Chrome browser came of
age, as did mobile web usage; and JavaScript development frameworks have matured
and are now ubiquitous.
This third edition of JavaScript Step by Step builds on the foundation laid down by
the rst two editions. While the underlying architecture of the JavaScript language has
remained largely the same, use of JavaScript has become pervasive, with huge year-
over-year increases and an expanded importance to developers. With that in mind,
the layout and coverage of the book have also remained largely the same, with some
notable exceptions. The book now places extra emphasis on JavaScript event handling
and the use of jQuery to speed development. The book also includes a nal section on
Windows 8 development using JavaScript. However, this book is most denitely not
Microsoft-centric.
One of the rst things I asked prior to accepting the offer to write JavaScript Step

advantage of AJAX and third-party libraries such as jQuery to add interactivity to your
webpages.
Assumptions
This book expects that you have at least a minimal understanding of concepts sur-
rounding web development. You should be at least somewhat familiar with HTML. CSS
is also helpful to know, but neither HTML nor CSS are required prerequisite knowledge
for completing this book. The examples shown provide all the HTML and CSS whenever
necessary.
Who should not read this book
This book isn’t meant for experienced JavaScript programmers.
Organization of this book
This book is divided into four sections, each of which focuses on a different aspect of
JavaScript programming. Part I, “Javawhat? The where, why, and how of JavaScript,”
provides the foundation upon which JavaScript is programmed. Included in this part
are chapters to get you up to speed creating JavaScript programs as well as chapters
discussing the syntax of JavaScript. Part II, “Integrating JavaScript into design,” looks
closely at the interactions between JavaScript and its primary role of web programming.
Introduction xxi
Part III, “AJAX and server-side integration,” shows the use of JavaScript to retrieve and
parse information from web services. Finally, Part IV, “JavaScript and Windows 8,” shows
how to create a Windows 8 app with HTML, CSS, and JavaScript.
Conventions and features in this book
This book takes you step by step through the process of learning the JavaScript pro-
gramming language. Starting at the beginning of the book and following each of the
examples and exercises will provide the maximum benet to help you gain knowledge
about the JavaScript programming language.
If you already have some familiarity with JavaScript, you might be tempted to skip
the rst chapter of this book. However, Chapter 1, “JavaScript is more than you might
think,” details some of the background history of JavaScript as well as some of the
underlying premise for this book, both of which might be helpful in framing the discus-

Most of the chapters in this book include exercises that let you interactively try out new
material learned in the main text. The code for those exercises and many other exam-
ples can be downloaded from:
/>Follow the instructions to download the 9780735665934_les le.
Installing the Code Samples
Follow these steps to install the code samples on your computer so that you can use
them with the exercises in this book.
1. Unzip the 9780735665934_les.zip le that you downloaded from the book’s
website to a location that is accessible by your web server.
2. If prompted, review the displayed end user license agreement. If you accept the
terms, select the accept option, and then click Next.
Note If the license agreement doesn’t appear, you can access it from the
same webpage from which you downloaded the 9780735665934_les.zip le.
Using the Code Samples
Unzipping the sample code creates several subfolders, one for each chapter of the
book. These subfolders may contain additional subfolders, based on the layout neces-
sary for a given chapter.
Introduction xxiii
Acknowledgments
There are so many people that help in the book writing process. I’d like to rst thank
Russell Jones at Microsoft Press. He has provided excellent guidance and is always a
pleasure to work with. Thanks to John Grieb for providing excellent technical feedback
for this edition. I should also thank Jim Oliva and John Eckendorf, if for no other reason
than I do so in every other book I write.
I’d also like to thank Terry Rapp for being understanding about my scheduling
conicts. Thanks to Chris Tuescher for years of friendship and support. Many people
have helped me through the years, and it all led to me sitting here, writing this sen-
tence. Duff Damos, Kent Laabs, Pat Dunn, and the entire Nightmare Productions Ltd
and Capitol Entertainment crews are just as responsible for getting me here as anyone.
Thanks to Dave, Sandy, Joel, and the gang at Ski’s. Thanks also to Mrs. Mehlberg and


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status