JavaScript Bible, 7th EditionISBN: 978-0-470-52691-0
Paperback
1224 pages
November 2010
|
Introduction xxv
Part I: Getting Started with JavaScript 1
Chapter 1: JavaScript’s Role in the World Wide Web and Beyond 3
Competing for Web Traffic 4
Other Web Technologies 4
JavaScript: A Language for All 10
JavaScript: The Right Tool for the Right Job 12
Chapter 2: Developing a Scripting Strategy 15
Browser Leapfrog 15
Duck and Cover 16
Compatibility Issues Today 17
Developing a Scripting Strategy 22
Chapter 3: Selecting and Using Your Tools 27
The Software Tools 27
Setting Up Your Authoring Environment 28
Validate, Validate, Validate 31
Creating Your First Script 31
Chapter 4: JavaScript Essentials 37
Combining JavaScript with HTML 37
Designing for Compatibility 51
Language Essentials for Experienced Programmers 54
Part II: JavaScript Tutorial 59
Chapter 5: Your First JavaScript Script 61
What Your First Script Will Do 61
Entering Your First Script 62
Have Some Fun 74
Exercises 75
Chapter 6: Browser and DocumentObjects 77
Scripts Run the Show 77
When to Use JavaScript 78
The Document Object Model 79
When a Document Loads 82
Object References 85
Node Terminology 87
What Defines an Object? 88
Exercises 93
Chapter 7: Scripts and HTML Documents 95
Connecting Scripts to Documents 95
JavaScript Statements 99
When Script Statements Execute 100
Viewing Script Errors 104
Scripting versus Programming 105
Exercises 106
Chapter 8: Programming Fundamentals, Part I 109
What Language Is This? 109
Working with Information 109
Variables 110
Expressions and Evaluation 112
Data Type Conversions 115
Operators 116
Exercises 118
Chapter 9: Programming Fundamentals, Part II 121
Decisions and Loops 121
Control Structures 122
Repeat Loops 124
Functions 124
Curly Braces 128
Arrays 129
Exercises 133
Chapter 10: Window and Document Objects 135
Top-Level Objects 135
The window Object 135
Window Properties and Methods 139
The location Object 142
The navigator Object 143
The document Object 143
Exercises 152
Chapter 11: Forms and Form Elements 153
The Form object 153
Form Controls as Objects 158
Passing Elements to Functions with this 170
Submitting and Prevalidating Forms 173
Exercises 177
Chapter 12: Strings, Math, and Dates 179
Core Language Objects 179
String Objects 180
The Math Object 183
The Date Object 184
Date Calculations 186
Exercises 189
Chapter 13: Scripting Frames and Multiple Windows 191
Frames: Parents and Children 191
References Among Family Members 194
Frame-Scripting Tips 195
About iframe Elements 196
Highlighting Footnotes: A Frameset Scripting Example 196
References for Multiple Windows 202
Exercises 206
Chapter 14: Images and Dynamic HTML 207
The Image Object 207
Rollovers Without Scripts 216
The javascript: Pseudo-URL 219
Popular Dynamic HTML Techniques 220
Exercises 222
Part III: JavaScript Core Language Reference 223
Chapter 15: The String Object 225
String and Number Data Types 225
String Object 228
String Utility Functions 261
URL String Encoding and Decoding 267
Chapter 16: The Math, Number, and Boolean Objects 269
Numbers in JavaScript 269
Math Object 276
Number Object 280
Boolean Object 284
Chapter 17: The Date Object 285
Time Zones and GMT 285
The Date Object 287
Validating Date Entries in Forms 304
Chapter 18: The Array Object 311
Structured Data 311
Creating an Empty Array 312
Populating an Array 313
JavaScript Array Creation Enhancements 314
Deleting Array Entries 315
Parallel Arrays 315
Multidimensional Arrays 320
Simulating a Hash Table 321
Array Object 323
Array Comprehensions 353
Destructuring Assignment 354
Compatibility with Older Browsers 355
Chapter 19: JSON Native JavaScript Object Notation 357
How JSON Works 357
Sending and Receiving JSON Data 359
JSON Object 360
Security Concerns 361
Chapter 20: E4X Native XML Processing 363
XML 363
ECMAScript for XML (E4X) 364
Chapter 21: Control Structures and Exception Handling 373
If and If. . .Else Decisions 373
Conditional Expressions 379
The switch Statement 380
Repeat (for) Loops 384
The while Loop 388
The do-while Loop 390
Looping through Properties (for-in) 390
The with Statement 392
Labeled Statements 393
Exception Handling 397
Using try-catch-finally Constructions 398
Throwing Exceptions 402
Error Object 407
Chapter 22: JavaScript Operators 411
Operator Categories 411
Comparison Operators 412
Equality of Disparate Data Types 413
Connubial Operators 415
Assignment Operators 418
Boolean Operators 420
Bitwise Operators 424
Object Operators 425
Miscellaneous Operators 430
Operator Precedence 433
Chapter 23: Function Objects and Custom Objects 437
Function Object 437
Function Application Notes 447
Creating Your Own Objects with Object-Oriented JavaScript 458
Object-Oriented Concepts 470
Object Object 474
Chapter 24: Global Functions and Statements 481
Functions 482
Statements 492
WinIE Objects 496
Part IV: Document Objects Reference 501
Chapter 25: Document Object Model Essentials 503
The Object Model Hierarchy 503
How Document Objects Are Born 505
Object Properties 506
Object Methods 507
Object Event Handlers 508
Object Model Smorgasbord 509
Basic Object Model 510
Basic Object Model Plus Images 511
Navigator 4–Only Extensions 511
Internet Explorer 4+ Extensions 512
Internet Explorer 5+ Extensions 515
The W3C DOM 516
Scripting Trends 532
Standards Compatibility Modes (DOCTYPE Switching) 534
Where to Go from Here 535
Chapter 26: Generic HTML Element Objects 537
Generic Objects 537
Chapter 27: Window and Frame Objects 739
Window Terminology 739
Frames 740
Window Object 746
Frame Element Object 854
Frameset Element Object 862
iframe Element Object 868
Popup Object 875
Chapter 28: Location and History Objects 881
Location Object 881
History Object 900
Chapter 29: Document and Body Objects 907
Document Object 908
Body Element Object 981
TreeWalker Object 990
Chapter 30: Link and Anchor Objects 995
Anchor, Link, and a Element Objects 995
Chapter 31: Image, Area, Map, and Canvas Objects 1003
Image and img Element Objects 1003
Area Element Object 1024
Map Element Object 1028
Canvas Element Object 1032
Chapter 32: Event Objects 1043
Why ‘‘Events’’? 1044
Event Propagation 1045
Referencing the event Object 1059
Binding Events 1059
Event Object Compatibility 1064
Dueling Event Models 1066
Event Types 1070
NN6+/Moz event Object 1097
Part V: Appendixes 1123
Appendix A: JavaScript and Browser Objects Quick Reference 1125
Appendix B: What’s on the CD-ROM 1133
Index 1137