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
Other articles
- 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:
- [MS-ES3]: Internet Explorer ECMA-262 ECMAScript Language Specification Standards Support Document
- [MS-ES3EX]: Microsoft JScript Extensions to the ECMAScript Language Specification Third Edition
- [MS-ES5]: Internet Explorer ECMA-262 ECMAScript Language Specification (Fifth Edition) Standards Support Document
- [MS-ES5EX]: Internet Explorer Extensions to the ECMA-262 ECMAScript Language Specification (Fifth Edition)
Tools & advanced resources
- Firefox developer tools - The excellent built-in tools in Firefox.
- LearnStreet - Free online JavaScript tutorials and practice exercises.
- Codecademy - Free JavaScript course with interactive problems
- Code School - Learn by Doing, Multiple JS courses
- Frontend Masters - Workshop videos on JavaScript and front-end web development
- Let’s Code: Test-Driven JavaScript - screencast series on rigorous, professional JavaScript development
- Idiomatic.js - Principles of Writing Consistent, Idiomatic JavaScript
- Memory Management in JavaScript . Overview of how memory management works in JavaScript
- Firebug - JavaScript debugging and profiling
- Venkman - JavaScript debugger
- JavaScript Shells - test snippets of code
- JSHint - a tool that helps to detect errors and potential problems in your JavaScript code
- JSLint - syntax checker, warns against bad practices
- JSDoc - generate documentation from code
- JavaScript Redirect - advanced JavaScript redirect tool
- Aptana Studio - Open source IDE with Ajax and JavaScript support (based on eclipse)
- Netbeans - Open source IDE which includes sophisticated JavaScript support
- Eclipse - Open source IDE which includes JavaScript Development Toolkit
- Cloud9 IDE - Open source IDE that runs in the browser with JavaScript and Node.js support
- Pretty Diff - a diff tool for comparing minified code to regular code
- Object Playground - A tool and screencast for understanding object oriented JavaScript
- Extension Developer's Extension - Offers JS Environment and Shell
- BoilerplateJS - Reference architecture for large scale JavaScript projects
- Other JavaScript tools
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.
Related topics
JavaScript is a trademark or registered trademark of Oracle in the U.S. and other countries.