JavaScript

  • Revision slug: Web/JavaScript
  • Revision title: JavaScript
  • Revision id: 485803
  • Created:
  • Creator: justgage
  • Is current revision? No
  • Comment The JSDoc link was old, I changed it to the new website.

Revision Content

A re-introduction to JavaScript
An overview for those who think they know about JavaScript

JavaScript® (often shortened to JS) is a lightweight, interpreted, object-oriented language with first-class functions, most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic, is type safe, and supports object-oriented, imperative, and functional programming styles.

The JavaScript standard is ECMAScript. As of 2012, all modern browsers fully support ECMAScript 5.1. Older browsers support at least ECMAScript 3. A 6th major revision of the standard is in the works. The current progress of different new and improved features can be followed on the dedicated wiki.

This section of the site is dedicated to the JavaScript language itself, the parts that are not specific to Web pages, or other host environments. For information about APIs specific to Web pages, please see DOM. Read more about how DOM and JavaScript fit together in the DOM Reference.

Documentation

JavaScript Guide
If you are new to JavaScript, you should read this guide.
JavaScript Reference
This JavaScript reference includes complete documentation for JavaScript 1.5 and updates.

Introductory articles

JavaScript technologies overview
Introduction to the web browser JavaScript landscape

Advanced articles

JavaScript data structures
Overview of available data structures in JavaScript
Inheritance and the prototype chain
Explanation of the widely misunderstood and under-estimated prototype-based inheritance
Canvas tutorial
<canvas> is the HTML5 element which can be used to draw graphics using scripting. It can, for instance be used to draw graphs, make photo compositions or do simple (and not so simple) animations.
JavaScript Language Resources
A description of the JavaScript language standards.
Internet Explorer Standards Support Documents
Microsoft publishes documents that describe "variations, clarifications, and extensions to certain final approved web standards supported by Internet Explorer." Of these, the ones that are related to JavaScript are:

View All...

Tools & advanced resources

View All...

Other resources

JavaScript Garden
A site with helpful information about the more esoteric parts of JavaScript.
JSWiki
A Github-based wiki that indexes libraries and resources.
Stack Overflow
A collaboratively built and maintained Q&A site and look if you can find the answer to your question. If not you will be able to ask your question there.
Pineapple · JavaScript
A large database of current JavaScript tutorials and resources.

 

*JavaScript is a trademark or registered trademark of Oracle in the U.S. and other countries.

Revision Source

<div class="callout-box">
 <strong><a href="/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript">A re-introduction to JavaScript</a></strong><br />
 An overview for those who <em>think</em> they know about JavaScript</div>
<p><strong>JavaScript</strong><sup>®</sup> (often shortened to <strong>JS</strong>) is a lightweight, interpreted, object-oriented language with <a href="https://en.wikipedia.org/wiki/First-class_functions" title="https://en.wikipedia.org/wiki/First-class_functions">first-class functions</a>, most known as the scripting language for Web pages, but <a class="external" href="http://en.wikipedia.org/wiki/JavaScript#Uses_outside_web_pages">used in many non-browser environments</a> as well such as <a class="external" href="http://nodejs.org/">node.js</a> or <a href="http://couchdb.apache.org">Apache CouchDB</a>. It is a <a class="mw-redirect" href="https://en.wikipedia.org/wiki/Prototype-based" title="Prototype-based">prototype-based</a>, <a href="/en-US/docs/multiparadigmlanguage.html" title="/en-US/docs/multiparadigmlanguage.html">multi-paradigm</a> scripting language that is <span class="mw-redirect">dynamic</span>, is <a href="https://en.wikipedia.org/wiki/Type_safety" title="Type safety">type safe</a>, and supports object-oriented, imperative, and functional programming styles.</p>
<p>The JavaScript standard is <a href="/en-US/docs/JavaScript/Language_Resources">ECMAScript</a>. As of 2012, all modern browsers fully support ECMAScript 5.1. Older browsers support at least ECMAScript 3. A 6th major revision of the standard is in the works. The current progress of different new and improved features can be followed on the <a class="external" href="http://wiki.ecmascript.org/doku.php?id=harmony:proposals">dedicated wiki</a>.</p>
<p>This section of the site is dedicated to the JavaScript language itself, the parts that are not specific to Web pages, or other host environments. For information about APIs specific to Web pages, please see <a href="/en-US/docs/DOM">DOM</a>. Read more about how DOM and JavaScript fit together in the <a href="/en-US/docs/Gecko_DOM_Reference/Introduction#DOM_and_JavaScript">DOM Reference</a>.</p>
<div class="row topicpage-table">
 <div class="section">
  <h2 class="Documentation" id="Documentation">Documentation</h2>
  <dl>
   <dt>
    <a href="/en-US/docs/Web/JavaScript/Guide">JavaScript Guide</a></dt>
   <dd>
    If you are new to JavaScript, you should read this guide.</dd>
   <dt>
    <a href="/en-US/docs/Web/JavaScript/Reference">JavaScript Reference</a></dt>
   <dd>
    This JavaScript reference includes complete documentation for JavaScript 1.5 and updates.</dd>
  </dl>
  <h3 id="Introductory_articles">Introductory articles</h3>
  <dl>
   <dt>
    <a href="/en-US/docs/JavaScript_technologies_overview">JavaScript technologies overview</a></dt>
   <dd>
    Introduction to the web browser JavaScript landscape</dd>
  </dl>
  <h3 id="Advanced_articles">Advanced articles</h3>
  <dl>
   <dt>
    <a href="/en-US/docs/Web/JavaScript/Data_structures">JavaScript data structures</a></dt>
   <dd>
    Overview of available data structures in JavaScript</dd>
   <dt>
    <a href="/en-US/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain">Inheritance and the prototype chain</a></dt>
   <dd>
    Explanation of the widely misunderstood and under-estimated prototype-based inheritance</dd>
  </dl>
  <h3 id="Other_articles">Other articles</h3>
  <dl>
   <dt>
    <a href="/en-US/docs/Canvas_tutorial">Canvas tutorial</a></dt>
   <dd>
    &lt;canvas&gt; is the HTML5 element which can be used to draw graphics using scripting. It can, for instance be used to draw graphs, make photo compositions or do simple (and not so simple) animations.</dd>
   <dt>
    <a href="/en-US/docs/Web/JavaScript/Language_Resources">JavaScript Language Resources</a></dt>
   <dd>
    A description of the JavaScript language standards.</dd>
   <dt>
    <a class="external" href="http://msdn.microsoft.com/en-us/library/ff405926.aspx">Internet Explorer Standards Support Documents</a></dt>
   <dd>
    Microsoft publishes documents that describe "variations, clarifications, and extensions to certain final approved web standards supported by Internet Explorer." Of these, the ones that are related to JavaScript are:
    <ul>
     <li><a class="external" href="http://msdn.microsoft.com/en-us/library/ff520996.aspx">[MS-ES3]: Internet Explorer ECMA-262 ECMAScript Language Specification Standards Support Document </a></li>
     <li><a class="external" href="http://msdn.microsoft.com/en-us/library/ff521046.aspx">[MS-ES3EX]: Microsoft JScript Extensions to the ECMAScript Language Specification Third Edition </a></li>
     <li><a class="external" href="http://msdn.microsoft.com/en-us/library/ff960769.aspx">[MS-ES5]: Internet Explorer ECMA-262 ECMAScript Language Specification (Fifth Edition) Standards Support Document </a></li>
     <li><a class="external" href="http://msdn.microsoft.com/en-us/library/ff955363.aspx">[MS-ES5EX]: Internet Explorer Extensions to the ECMA-262 ECMAScript Language Specification (Fifth Edition)</a></li>
    </ul>
   </dd>
  </dl>
  <p><span class="alllinks"><a href="/en-US/docs/tag/JavaScript">View All...</a></span></p>
 </div>
 <div class="section">
  <h2 class="Tools" id="Tools_.26_advanced_resources">Tools &amp; advanced resources</h2>
  <ul>
   <li><a href="/en-US/docs/Tools">Firefox developer tools</a> - The excellent built-in tools in Firefox.</li>
   <li><a href="http://www.learnstreet.com/">LearnStreet</a> - Free online JavaScript tutorials and practice exercises.</li>
   <li><a href="http://www.codecademy.com/">Codecademy</a> - Free JavaScript course with interactive problems</li>
   <li><a href="http://codeschool.com">Code School </a>- Learn by Doing, Multiple JS courses</li>
   <li><a href="http://frontendmasters.com/" title="http://frontendmasters.com/">Frontend Masters</a> - Workshop videos on JavaScript and front-end web development</li>
   <li><a href="http://www.letscodejavascript.com/" title="http://www.letscodejavascript.com/">Let’s Code: Test-Driven JavaScript</a>&nbsp;-&nbsp;screencast series on rigorous, professional JavaScript development</li>
   <li><a class="link-https" href="https://github.com/rwldrn/idiomatic.js">Idiomatic.js</a> - Principles of Writing Consistent, Idiomatic JavaScript</li>
   <li><a href="/en-US/docs/JavaScript/Memory_Management">Memory Management in JavaScript</a> . Overview of how memory management works in JavaScript</li>
   <li><a class="external" href="http://www.getfirebug.com/">Firebug</a> - JavaScript debugging and profiling</li>
   <li><a href="/en-US/docs/Venkman">Venkman</a> - JavaScript debugger</li>
   <li><a href="/en-US/docs/JavaScript/Shells">JavaScript Shells</a> - test snippets of code</li>
   <li><a class="external" href="http://jshint.com">JSHint</a> - a tool that helps to detect errors and potential problems in your JavaScript code</li>
   <li><a class="external" href="http://www.jslint.com/lint.html">JSLint</a> - syntax checker, warns against bad practices</li>
   <li><a class="external" href="http://usejsdoc.org/">JSDoc</a> - generate documentation from code</li>
   <li><a class="external" href="http://online-marketing-technologies.com/tools/javascript-redirection-generator.html" title="JavaScript Redirect">JavaScript Redirect</a> - advanced JavaScript redirect tool</li>
   <li><a class="external" href="http://www.aptana.com">Aptana Studio</a> - Open source IDE with Ajax and JavaScript support (based on eclipse)</li>
   <li><a class="external" href="http://netbeans.org/features/javascript/">Netbeans</a> - Open source IDE which includes sophisticated JavaScript support</li>
   <li><a class="external" href="http://www.eclipse.org/downloads/packages/eclipse-ide-javascript-web-developers/heliossr1">Eclipse</a> - Open source IDE which includes JavaScript Development Toolkit</li>
   <li><a class="external" href="http://www.c9.io">Cloud9 IDE</a> - Open source IDE that runs in the browser with JavaScript and Node.js support</li>
   <li><a class="external" href="http://prettydiff.com/">Pretty Diff </a>- a diff tool for comparing minified code to regular code</li>
   <li><a href="http://www.objectplayground.com/" title="http://www.objectplayground.com/">Object Playground</a>&nbsp;-&nbsp;A tool and screencast for understanding object oriented JavaScript</li>
   <li><a class="link-https" href="https://addons.mozilla.org/en-US/firefox/addon/7434">Extension Developer's Extension</a> - Offers JS Environment and Shell</li>
   <li><a href="http://boilerplatejs.org/">BoilerplateJS</a> - Reference architecture for large scale JavaScript projects</li>
   <li><a href="/en-US/docs/JavaScript/Other_JavaScript_tools">Other JavaScript tools</a></li>
  </ul>
  <p><span class="alllinks"><a href="/en-US/docs/tag/JavaScript:Tools">View All...</a></span></p>
  <h2 class="Community" id="Other resources" name="Other resources">Other resources</h2>
  <dl>
   <dt>
    <a class="external" href="http://bonsaiden.github.com/JavaScript-Garden">JavaScript Garden</a></dt>
   <dd>
    A site with helpful information about the more esoteric parts of JavaScript.</dd>
   <dt>
    <a class="link-https" href="https://github.com/bebraw/jswiki/wiki">JSWiki</a></dt>
   <dd>
    A Github-based wiki that indexes libraries and resources.</dd>
   <dt>
    <a href="http://stackoverflow.com/questions/tagged/javascript">Stack Overflow</a></dt>
   <dd>
    A collaboratively built and maintained Q&amp;A site and look if you can find the answer to your question. If not you will be able to ask your question there.</dd>
   <dt>
    <a href="http://pineapple.io/resources/tagged/javascript?type=tutorials&amp;sort=all_time">Pineapple · JavaScript</a></dt>
   <dd>
    A large database of current JavaScript tutorials and resources.</dd>
  </dl>
  <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Related topics</h2>
  <ul>
   <li><a href="/en-US/docs/AJAX">AJAX</a>, <a href="/en-US/docs/DOM">DOM</a>, <a class="internal" href="/en-US/docs/JavaScript/Server-Side_JavaScript">Server-Side JavaScript</a>, <a href="/en-US/docs/DHTML">DHTML</a>, <a href="/en-US/docs/SpiderMonkey">SpiderMonkey</a>, <a href="/en-US/docs/HTML/Canvas">Canvas</a>, <a href="/en-US/docs/JavaScript/JQuery">JQuery</a></li>
  </ul>
 </div>
</div>
<p>&nbsp;</p>
<p><samp>*JavaScript is a trademark or registered trademark of Oracle in the U.S. and other countries.</samp></p>
Revert to this revision