The Best Things about JavaScript - dummies

The Best Things about JavaScript

JavaScript is a scripting language, which is a programming language that’s designed to give folks easy access to prebuilt components. In the case of JavaScript, those prebuilt components are the building blocks that make up a Web page (links, images, plug-ins, HTML form elements, browser configuration details, and so on).

It’s easy! (Sort of)

JavaScript has a reputation of being easy to use because

  • The bulk of the document object model (the portion of the language that defines what kind of components, or objects, you can manipulate in JavaScript) is pretty straightforward. For example, if you want to trigger some kind of event when a person clicks a button, you access the onClick event handler associated with the button object; if you want to trigger an event when an HTML form is submitted, you access the onSubmit event handler associated with the form object.
  • When you load a cool Web page into your browser and wonder how the author created the effect in JavaScript, 99 times out of a 100 all you have to do to satisfy your curiosity is click to view the source code (choose View –> Page Source in Navigator or choose View –> Source in Internet Explorer). This source code free-for-all, which is simply impossible with compiled programming languages such as Java, helps you decipher JavaScript programming by example.

However, becoming proficient in JavaScript isn’t exactly a no-brainer. One of the biggest factors contributing to the language’s growing complexity is the fact that the two major JavaScript-supporting browsers on the market (Netscape Navigator and Microsoft Internet Explorer) implement JavaScript differently. Netscape supports JavaScript directly — hardly a surprise because Netscape was the one that came up with JavaScript in the first place! Internet Explorer, on the other hand, supports JavaScript indirectly by providing support for JScript, its very own JavaScript-compatible language. And despite claims by both Netscape and Microsoft that JavaScript and JScript, respectively, are “open, standardized scripting languages,” neither company offers explicit, comprehensive, all-in-one-place details describing all of the following:

  • Precisely which version of JavaScript (or JScript) is implemented in each of their browser releases.
  • Precisely which programming features are included and which objects are accessible in each version of JavaScript and JScript.
  • How each version of JavaScript compares to each version of JScript.

The upshot is that creating cross-browser, JavaScript-enabled Web pages now falls somewhere around 6 on a difficulty scale of 1 to 10 (1 being the easiest technology in the world to master and 10 being the hardest).

Fear not, however. Armed with an understanding of HTML and a few hours practice, you can become a JavaScript jockey in no time flat!

It’s speedy!

Besides being relatively easy, JavaScript is also pretty speedy. Like most scripting languages, it’s interpreted (as opposed to being compiled). When you program using a compiled language, such as C++, you must always reformat, or compile, your code file before you can run it. This interim step can take anywhere from a few seconds to several minutes or more.

The beauty of an interpreted language like JavaScript, on the other hand, is that when you make changes to your code — in this case, to your JavaScript script — you can test those changes immediately; you don’t have to compile the script file first. Skipping the compile step saves a great deal of time during the debugging stage of Web page development.

Another great thing about using an interpreted language like JavaScript is that testing an interpreted script isn’t an all-or-nothing proposition, the way it is with a compiled language. For example, if line 10 of a 20-line script contains a syntax error, the first half of your script may still run, and you may still get feedback immediately. The same error in a compiled program may prevent the program from running at all.

The downside of an interpreted language is that testing is on the honor system. Because there’s no compiler to nag you, you might be tempted to leave your testing to the last minute or — worse yet — skip it altogether. However, remember that whether the Web site you create is for business or pleasure, it’s a reflection on you, and testing is essential if you want to look your very best to potential customers, associates, and friends. (A few years ago, visitors to your site might have overlooked a buggy script or two, but frankly, Web site standards are much higher these days.)

Everybody’s doing it! (Okay, almost everybody!)

Two generally available Web browsers currently support JavaScript: Microsoft’s Internet Explorer and Netscape/AOL’s Navigator. (Beginning with version 4.0, Navigator became synonymous with Communicator, even though technically Netscape Communicator includes more components than just the Navigator Web browser.) Between them, these two browsers have virtually sewn up the browser market; almost everyone who surfs the Web is using one or the other — and thus has the ability to view and create JavaScript-enabled Web pages.