You are here: irt.org | FAQ | JavaScript | General | Q478 [ previous next ]
JavaScript is an interpreted language (i.e. it does not need to be compiled) that has characteristics of Object Oriented languages, e.g. objects, properties, methods.
JavaScript comes in two flavours, the popular Client Side version that runs in a users browser, or the Server Side version that can run on Netscape Servers. There are three browsers that support Client Side JavaScript: Netscape Navigator (since version 2), Microsoft Internet Explorer (since version 3) and Opera (since version 3 ?!?).
JavaScript allows client side processing to occur within a document without the need for processing on the server. For example, JavaScript can be used to validate a form before it is sent to the server. This can avoid lengthy delays whilst validation is carried out on the server, only for a response to return stating that the form has been completed incorrectly. JavaScript can do this *before* the form is sent.
JavaScript has a core set of objects, methods and variables, that have been standardised by the ECMAScript available as a Microsoft Word document from: http://www.ecma.ch/stand/ecma-262.htm
The browsers themselves extend the JavaScript language with additional objects, for example images, windows, frames. These object and their methods and properties are part of what is known as the Document Object Model (DOM). Each browser has its own subtle version of the DOM. As browsers mature and new versions are released more and more features are added to the browsers DOM. Hopefully we will reach a stage where the differences between each browsers DOM is small and insignificant enough to ignore. At the moment the differences are to apparent. This does however make JavaScript an interesting language to master.