JavaScript Bible. 7th Edition

  • ID: 2251590
  • Book
  • 1224 Pages
  • John Wiley and Sons Ltd
1 of 4
Get interactive with this definitive guide to JavaScript

Do you want to add interactivity to your web pages or gain more control over how browsers display your content? This bestselling guide shows you how to use JavaScript to give your site visitors a more engaging experience. Packed with sample code and ready–to–use scripts, it helps you quickly master JavaScript fundamentals and deploy strategies that best suit your web goals. You′ll be on your way to writing scripts for rollover effects, taking advantage of Web 2.0, using JavaScript subr

  • Explore the latest advances in JavaScript programming

  • Develop a scripting strategy and select the right tools

  • Master closures, generators, and iterators

  • Apply the latest JavaScript exception handling and custom object techniques

  • Harness the power of the Document Object Model

  • Launch Web 2.0 applications using Ajax, E4X/XML, and JSON

  • Perform data entry validation and enhance security

  • outine libraries, and more!

What′s on the CD–ROM?

You′ll find a large collection of extras on the CD–ROM, including a searchable e–version of the book with additional reference details, and 29 bonus JavaScript chapters on advanced topics such as data–entry validation, debugging scripts, cross–browser dynamic HTML issues, and more.

Also on the CD:

  • 10 full–fledged JavaScript applications

  • 300+ ready–to–run scripts

  • All the code in the book

System Requirements: See the CD–ROM appendix for details and complete system requirements.

CD–ROM Included!

  • 29 bonus chapters

  • 300+ ready–to–run scripts

  • 10 real–world JavaScript applications

Make your web site interactive

Create dynamic content for today′s browsers

Master Document Object Model concepts

Note: Product cover images may vary from those shown
2 of 4

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

Note: Product cover images may vary from those shown
3 of 4


4 of 4
Danny Goodman is the author of numerous critically acclaimed and best–selling books, includingThe Complete HyperCard Handbook,Danny Goodman s AppleScript Handbook,Dynamic HTML: The Definitive Reference, andJavaScript & 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 (, 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, JavaScript, 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 JavaScript 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.

Note: Product cover images may vary from those shown
5 of 4
Note: Product cover images may vary from those shown