JavaScript FAQ
In this article, authors and consultants Adrian and Kathie Kingsley-Hughes answer some of the most commonly asked JavaScript-related questions from both those starting out in JavaScript and those who have been using it a while.
JavaScript Background
In this part of the FAQ, we will look at some of the common questions about the background of JavaScript.
What is JavaScript?
JavaScript is a compact, object-based, interpreted scripting language for developing client and server Internet applications. The code is contained in plain text files and is human readable—no compiling is needed.
NOTE
In this FAQ, we will be looking at client-side JavaScript.
Isn't JavaScript the Same Thing as Java?
The short answer is no, they are not. Although there are similarities between the two languages, they are separate languages (much like saying that apples and oranges are the same because they are both fruit).
One of the major differences between JavaScript and Java is that Java code is compiled code that is executed as opposed to interpreted.
What Browsers Support JavaScript?
The three major browsers (Microsoft's Internet Explorer, Netscape Navigator, and Opera—which between them account for pretty much 100% of the market) all support JavaScript. If you have a copy of the latest version installed (Internet Explorer version 5.5—with 6.0 in preview beta, Netscape Navigator 6.01, and Opera 5.0) complete with the scripting engines (when you download and install a new browser, make sure you get the whole thing, not just parts of it because this can cause problems), you will be capable of running the latest version of JavaScript.
Where Can I Get the Latest Browsers and Scripting Engines?
What Is the Latest Version of JavaScript?
This is where things get complex. In the Microsoft camp, you'll find the Windows Script 5.5 engines, which include JScript 5.5 (their flavor of JavaScript); in the Netscape camp, you'll see JavaScript 1.5; whereas the Opera browser nearly has full support for ECMA-262 version 2 and version 3.
What Does All That Mean?
All this sounds complex, but in fact, the Opera support helps clear things up. This is because ECMA-262 is a JavaScript standard (as laid down by the ECMA standards committee in Switzerland), and this version of JavaScript is the foundation for all three JavaScript engines. It is fair to say that the standard isn't fully and completely supported (what standard is in today's fast-moving world!). Also, Microsoft and Netscape both have made additions to this standard, but if you use it as a guideline for developing your code, you won't go far wrong!
Where Can I Find Out More About ECMA-262?
You can download the specification from here: http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM