Javascript
Essay Preview: Javascript
Report this essay
JavaScript is the name of Netscape Communications Corporations implementation of ECMAScript, a scripting programming language based on the concept of prototypes. The language is best known for its use in websites, but is also used to enable scripting access to objects embedded in other applications.
Despite the name, JavaScript is only distantly related to the Java programming language, the main similarity being their common debt to the C programming language. JavaScript has far more in common with the Self programming language.
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. [1] [2]
Contents
1 History
2 Usage
3 Syntax
4 Debugging
5 Related languages
6 See also
7 References
8 External links
8.1 Reference Material
8.2 Authoring Guides
8.3 Tutorials
8.4 Common Problems
8.5 History
History
JavaScript was originally developed by Brendan Eich of Netscape Communications Corporation under the name Mocha, then LiveScript, and finally renamed to JavaScript. The change of name from LiveScript to JavaScript roughly coincided with Netscape adding support for Java technology in its Netscape Navigator web browser. JavaScript was first introduced and deployed in the Netscape browser version 2.0B3 in December of 1995. When web developers talk about using JavaScript in Internet Explorer, they are actually using JScript. The choice of name proved to be a source of much confusion.
As of 2005, the latest version of the language is JavaScript 1.6, which corresponds to ECMA-262 Edition 3 like JavaScript 1.5, except for Array extras, and Array and String generics. ECMAScript, in simple terms, is a standardized version of JavaScript. The ECMA-357 standard specifies E4X, a language extension dealing with XML.
Usage
JavaScript is a prototype-based scripting language with a syntax loosely based on C. Like C, the language has no input or output constructs of its own. Where C relies on standard I/O libraries, a JavaScript engine relies on a host environment into which it is embedded. There are many such host environment applications, of which web technologies are the most well known examples. These are examined first.
One major use of web-based JavaScript is to write functions that are embedded in or included from HTML pages and interact with the Document Object Model (DOM) of the page to perform tasks not possible in HTML alone. Some common examples of this usage follow.
Opening or popping up a new window with programmatic control over the size, position and look of the new window (i.e. whether or not the menus, toolbars etc are visible. Usually JavaScript is used to ensure that they are not)
If this degree of control is not required, JavaScript is not necessary. Simply adding the attribute target=”xxx” to the link element in HTML will reliably produce a new window the same size as the current one, with menus etc displayed as per the users preferences. Note that many browsers now include mechanisms that, by default, block all JavaScript pop-ups, displaying only a small message to say that they have done so.
Checking or validating web form input values to make sure that they will be accepted before they are submitted to the server
There is always a time delay, and a processing overhead on the server, when a form has to be submitted. Nonetheless input validation should be repeated at the server in case the JavaScript failed to run (see below).
Changing images as the mouse cursor moves over them
This effect is still enjoyed by many designers, often to draw the users attention to important links displayed as graphical elements. This “rollover” effect can also be implemented with CSS in recent browsers. With a mind for visually impaired users, who may be using extreme text magnification that makes non-resizing graphics largely irrelevant, others are moving away from this approach.
Unfortunately, the DOM interfaces in various browsers differ and dont always match the W3C DOM standards. Rather than write different variants of a JavaScript function for each of the many browsers in common use today, it is usually possible, by carefully following the W3C DOM Level 1 or 2 standards, to provide the required functionality in a standards-compliant way that most browsers will execute correctly. Care must always be taken to ensure that the web page degrades gracefully and so is still usable by any user who
has JavaScript execution disabled – for example as a security precaution
has a browser that does not understand the JavaScript – for example on a PDA or mobile phone
is visually or otherwise disabled and may be using an unusual browser, a speech browser or may have selected extreme text magnification. For more information on this, see the Web Accessibility Initiative
Other examples of JavaScript interacting with a web pages DOM have been called DHTML and SPA.
A different example of the use of JavaScript in web pages is to make calls to web and web-service servers after the page has loaded, depending upon user actions. These calls can obtain new information, which further JavaScript can merge with the existing pages DOM so that it is displayed. This is the basis of Ajax programming.
Outside of the Web, JavaScript interpreters are embedded in a number of tools. Adobe Acrobat and Adobe Reader support JavaScript in PDF files. The Mozilla platform, which underlies several common web browsers, uses JavaScript to implement the user interface and transaction logic of its various products. JavaScript interpreters are also embedded in proprietary applications that lack scriptable interfaces. Dashboard Widgets in Apples Mac OS X v10.4 are implemented using JavaScript. Microsofts Active Scripting technology supports JavaScript-compatible JScript as an operating system scripting language.