When most people think of Javascript they think of the scripting language that runs in their web browser. When most people think of the scripting language that runs in their web browser they think of Javascript.
In most instances when people relate these two items (web browser scripting language and Javascript) they haven't quite understood things properly. While modern browsers such as Firefox, Netscape, Mozilla, Opera, Safari, Konqueror etc do use Javascript as their built-in browser scripting language, the most popular browser (Internet Explorer) does not use Javascript at all. Instead Internet Explorer uses a similar scripting language called JScript.
Now you may not think this distinction is worth worrying about. You write your code to work on modern web browsers, add the alternate code where needed to handle Internet Explorer and just call it all Javascript. The thing is that JScript doesn't only run in the IE browser, it can also run on the web server under the .NET framework. Javascript only runs in the web browser (although it can run in places in the browser other than in the web page itself).
In fact there are a whole range of related languages of which Javascript and JScript are just two. What all of these languages have in connom is that they all are based on the ECMAscript standard which describes how the core language functions work.
Each of Javascript and JScript in fact have three component parts. Each has ECMAscript as one of those parts. The second part is the Document Object Model (DOM) and while Javascript implements the standard DOM quite well JScript doesn't implement it quite so well. To make up for this JScript implements a number of proprietary extensions to the DOM. The third part of each language is where the biggest differences occur as there is no standard Browser Object Model (BOM) and so browsers are free to define their own methods for web pages to access information about the browser. This difference is not as great as it used to be as most browsers now copy either the IE or Firefox BOM.
The other languages that are related to Javascript and JScript are also based on ECMAscript but as they do not directly run in a web page they don't have any veriant of the DOM and BOM although they do have equivalents that allow them to communicate with the environment that they run in the way that the DOM and BOM allow Javascript and JScript to communicate with the web page and the browser.
Microsoft actually provide a second language based on ECMAscript called Windows Scripting Host (WSH) which as the name suggests runs directly in Windows rather than in a web browser.
Adobe also have an ECMAscript based language called ActionScript which runs inside of Flash. ActionScript still uses the same core ECMAscript commands but substitutes a method for interacting with Flash components for the DOM and BOM of Javascript.
Yet another ECMAscript based language is Nombas ScriptEase.
All of these languages are based on exactly the same ECMAscript-262 standard which defines the core language. Once you have learned Javascript you should therefore find it relatively easy if you need to learn WSH, ActionScript, ScriptEase, or any other ECMAscript based language. I have even had people who couldn't find an ActionScript class who have taken my introductory Javascript class and found that it was just as applicable to what they were doing in Flash as for the web page use that I had intended when I designed the course.
One final thing to note is that ECMAscript has a number of reserved words that don't appear to be used in Javascript. If you look at the proposed Javascript 2.0 standard you will find many of those additional reserved words used there. Some of the other scripting languages based on ECMAscript are ahead of Javascript though and both JScript.NET running on the server and ActionScript have already implemented functionality that uses most of the "unused" reserved words.
