JavaScript ® (often shortened to JS ) is a lightweight, interpreted, object-oriented language with 一类函数 , and is best known as the scripting language for Web pages, but it's used in many non-browser environments as well. It is a 基于原型 , multi-paradigm scripting language that is dynamic, and supports object-oriented, imperative, and functional programming styles.
JavaScript runs on the client side of the web, which can be used to design / program how the web pages behave on the occurrence of an event. JavaScript is an easy to learn and also powerful scripting language, widely used for controlling web page behavior.
Contrary to popular misconception,
JavaScript is
not
"Interpreted Java"
. In a nutshell, JavaScript is a dynamic scripting language supporting
prototype based
object construction. The basic syntax is intentionally similar to both Java and C++ to reduce the number of new concepts required to learn the language. Language constructs, such as
if
statements,
for
and
while
loops, and
switch
and
try ... catch
blocks function the same as in these languages (or nearly so).
JavaScript can function as both a procedural 和 object oriented language . Objects are created programmatically in JavaScript, by attaching methods and properties to otherwise empty objects at run time , as opposed to the syntactic class definitions common in compiled languages like C++ and Java. Once an object has been constructed it can be used as a blueprint (or prototype) for creating similar objects.
JavaScript's dynamic capabilities include runtime object construction, variable parameter lists, function variables, dynamic script creation (via
eval
), object introspection (via
for ... in
), and source code recovery (JavaScript programs can decompile function bodies back into their source text).
For a more in depth discussion of JavaScript programming follow the JavaScript resources links below.
The Mozilla project provides two JavaScript implementations. The first ever JavaScript was created by Brendan Eich at Netscape, and has since been updated to conform to ECMA-262 Edition 5 and later versions. This engine, code named SpiderMonkey , is implemented in C/C++. The Rhino engine, created primarily by Norris Boyd (also at Netscape) is a JavaScript implementation written in Java. Like SpiderMonkey, Rhino is ECMA-262 Edition 5 compliant.
Several major runtime optimizations such as TraceMonkey (Firefox 3.5), JägerMonkey (Firefox 4) and IonMonkey were added to the SpiderMonkey JavaScript engine over time. Work is always ongoing to improve JavaScript execution performance.
Besides the above implementations, there are other popular JavaScript engines such as:-
Each of Mozilla's JavaScript engines expose a public API which application developers can use to integrate JavaScript into their software. By far, the most common host environment for JavaScript is web browsers. Web browsers typically use the public API to create host objects responsible for reflecting the DOM into JavaScript.
Another common application for JavaScript is as a (Web) server side scripting language. A JavaScript web server would expose host objects representing a HTTP request and response objects, which could then be manipulated by a JavaScript program to dynamically generate web pages. Node.js is a popular example of this.
Information specific to Mozilla's implementation of JavaScript in C/C++ engine (aka SpiderMonkey), including how to embed it in applications.
Information specific to the JavaScript implementation written in Java (aka Rhino).
Pointers to published JavaScript standards.
JavaScript® is a trademark or registered trademark of Oracle in the U.S. and other countries.