The bestselling Java Script reference, now updated to reflect changes in technology and best practices
As the most comprehensive book on the market, the Java Script Bible is a classic bestseller that keeps you up to date on the latest changes in Java Script, the leading technology for incorporating interactivity into Web pages. Part tutorial, part reference, this book serves as both a learning tool for building new Java Script skills as well as a detailed reference for the more experienced Java Script user.
You’ll get up-to-date coverage on the latest Java Script practices that have been implemented since the previous edition, as well as the most updated code listings that reflect new concepts. Plus, you’ll learn how to apply the latest Java Script exception handling and custom object techniques.
Coverage includes:
- Java Script’s Role in the World Wide Web and Beyond
- Developing a Scripting Strategy
- Selecting and Using Your Tools
- Java Script Essentials
- Your First Java Script Script
- Browser and Document Objects
- Scripts and HTML Documents
- Programming Fundamentals
- Window and Document Objects
- Forms and Form Elements
- Strings, Math, and Dates
- Scripting Frames and Multiple Windows
- Images and Dynamic HTML
- The String Object
- The Math, Number, and Boolean Objects
- The Date Object
- The Array Object
- JSON – Native Java Script Object Notation
- E4X – Native XML Processing
- Control Structures and Exception Handling
- Java Script Operators
- Function Objects and Custom Objects
- Global Functions and Statements
- Document Object Model Essentials
- Generic HTML Element Objects
- Window and Frame Objects
- Location and History Objects
- Document and Body Objects
- Link and Anchor Objects
- Image, Area, Map, and Canvas Objects
- Event Objects
Practical examples of working code round out this new edition and contribute to helping you learn Java Script quickly yet thoroughly.
Innehållsförteckning
Introduction xxv
Part I: Getting Started with Java Script 1
Chapter 1: Java Script’s Role in the World Wide Web and Beyond 3
Competing for Web Traffic 4
Other Web Technologies 4
Java Script: A Language for All 10
Java Script: 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: Java Script Essentials 37
Combining Java Script with HTML 37
Designing for Compatibility 51
Language Essentials for Experienced Programmers 54
Part II: Java Script Tutorial 59
Chapter 5: Your First Java Script Script 61
What Your First Script Will Do 61
Entering Your First Script 62
Have Some Fun 74
Exercises 75
Chapter 6: Browser and Document Objects 77
Scripts Run the Show 77
When to Use Java Script 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
Java Script 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: Java Script 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 Java Script 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
Java Script 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 Java Script 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: Java Script 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 Java Script 458
Object-Oriented Concepts 470
Object Object 474
Chapter 24: Global Functions and Statements 481
Functions 482
Statements 492
Win IE 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
Tree Walker 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: Java Script and Browser Objects Quick Reference 1125
Appendix B: What’s on the CD-ROM 1133
Index 1137
Om författaren
Danny Goodman is the author of numerous critically acclaimed and best-selling books, including
The Complete Hyper Card Handbook,
Danny Goodman’s Apple Script Handbook,
Dynamic HTML: The Definitive Reference, and
Java Script & DHTML Cookbook. He is a renowned authority on and expert teacher of computer scripting languages. His writing style and pedagogy continue to earn praise from readers and teachers around the world.
Michael Morrison is a writer, developer, toy inventor, and author of a variety of books covering topics such as Java, C++, Web scripting, XML, game development, and mobile devices. Some of Michael’s notable writing projects include Faster Smarter HTML and XML, Teach Yourself HTML & CSS in 24 Hours, and Beginning Game Programming. Michael is also the founder of Stalefish Labs (www.stalefishlabs.com), an entertainment company specializing in unusual games, toys, and interactive products.
Paul Novitski has been writing software as a freelance programmer since 1981. He once taught himself BASIC in order to write a machine language disassembler so that he could lovingly hack Wang’s OIS microcode. He has focused on internet programming since the late ’90s. His company, Juniper Webcraft, produces HTML-strict websites featuring accessible, semantic markup, separation of development layers, and intuitive user interfaces. He knows the righteousness of elegant code, the poignancy of living on the bleeding edge of wilderness, the sweet melancholy of mbira music, and the scorching joy of raising twin boys.
Tia Gustaff Rayl is a consultant who does development and training in database and Web technologies. Most recently she has published courseware for XHTML, CSS, Java Script, and SQL. It comes as no surprise to those who know her that she began her software career with degrees in English and Education from the University of Florida. As is usual for most newcomers to the field, her introduction to computing was maintaining software. She went on to a long-standing career in the software industry in full life cycle system, application, and database development; project management; and training for PC and mainframe environments. In the mid-nineties she worked on early Web-enabled database applications, adding Java Script to her repertoire. She continues to take on development projects to maintain her code-slinging skills. If she had any spare time (and money) she would go on an around-the-world cruise with her husband and two dogs.