JavaScript

Last reviewed/updated: 17 Aug 2021 | Published: 08 Jan 2014 | Status: Active
Web browser support: Internet Explorer 10+, Edge 12+, Firefox 6+, Chrome 30+, Opera 17+

1. Introduction

1.1. JavaScript Introduction

  • The web language for adding front-end programming logic to the web browser window and web pages.
  • The web language that is object-oriented, interpreted by the web browser, and compatible with the Browser Object Model (BOM) and the Document Object Model (DOM).
  • The front-end web browser window and web page behavior (including interactive/dynamic behavior) language.
  • Web browser window behaviors include opening new web browser windows and displaying alert, confirm, prompt, find, and print dialogs. Web page behaviors include handling events, validating forms, and changing the content, structure, and style of web pages.
  • Language concepts include: variables, strings, numbers, booleans, arrays, operators, statements, functions, arguments, objects, properties, methods, inheritance, and scope.
JavaScript was initially developed by Netscape. Instead of licensing JavaScript, Microsoft reverse-engineered JavaScript as JScript. Eventually, those interested in the language turned it over to a third party industry standards association, ECMA, for further development. ECMA develops the language as ECMAScript, and Standard ECMA-262 is the official documentation for ECMAScript. JavaScript and JScript are implementations of ECMAScript.

1.2. BOM Introduction

  • Browser Object Model (BOM).
  • An application programming interface (API) built into web browsers that allows programs and scripts to interact with the web browser window.
  • Defines web browser objects and interfaces that allow programs and scripts to interact with the web browser window.
  • Defines a hierarchy of web browser objects whose exposed objects, methods, and properties constitute an interface that allows programs and scripts to access and manipulate the web browser window.
  • Root object: the Window object. The BOM Window object represents both the web browser window and the JavaScript Global object; and, therefore, is the link between JavaScript and the web browser window.

1.3. DOM Introduction

  • Document Object Model (DOM).
  • An application programming interface (API) built into web browsers that allows programs and scripts to interact with displayed HTML documents (i.e., web pages).
  • Defines displayed HTML document structure, objects, and interfaces that allow programs and scripts to interact with web pages.
  • Defines displayed HTML documents as a hierarchal, tree-like structure of objects (a.k.a., nodes) whose exposed objects, methods, and properties constitute an interface that allows programs and scripts to access and manipulate the content, structure, and style of web pages.
  • Root object: the Document object. The DOM Document object represents the entire HTML document being displayed in the web browser window; and, therefore, is the link between JavaScript and the web page. The DOM Document object is a property of the BOM Window object. Therefore, the path to the Document object is first to the Window object and then to the Document object, which is window.document.

2. Original Content

2.1. JavaScript Original Content

2.2. BOM Original Content


3. Standards

3.1. JavaScript Standards

3.1.1 ECMAScript Standards

The edition of ECMAScript skipped from 3rd to 5th.

3.1.2. W3C And WHATWG Web IDL/API Recommendations/Etc.

3.2. BOM Standards

  • There is no dedicated BOM standard. Instead, the major aspects of the BOM are described in HTML5 under Web Application APIs.
  • On 28 May 2019 the W3C and WHATWG reached an agreement, whereby: 1.) HTML and DOM shall be developed principally in the WHATWG, following WHATWG Living Standard (LS) specification process; and 2.) W3C agrees to discontinue its release plans for W3C versions of HTML 5.3 and DOM 4.1. In other words, starting 28 May 2019, the WHATWG HTML Living Standard is the official HTML standard. For additional information, see Memorandum Of Understanding Between W3C And WHATWG (w3.org).

3.3. DOM Standards

On 28 May 2019 the W3C and WHATWG reached an agreement, whereby: 1.) HTML and DOM shall be developed principally in the WHATWG, following WHATWG Living Standard (LS) specification process; and 2.) W3C agrees to discontinue its release plans for W3C versions of HTML 5.3 and DOM 4.1. In other words, starting 28 May 2019, the WHATWG DOM Living Standard is the official DOM standard. For additional information, see Memorandum Of Understanding Between W3C And WHATWG (w3.org).

3.3.1. WHATWG DOM Specification

3.3.2. W3C DOM Level 1 Recommendation

3.3.3. W3C DOM Level 2 Recommendations

3.3.4. W3C DOM Level 3 Recommendations/Etc.

3.3.4.1. W3C DOM Level 3 Recommendations
3.3.4.2. W3C DOM Level 3 Working Drafts

3.3.5. W3C DOM Level 4 Recommendation

On 28 May 2019 the W3C and WHATWG reached an agreement, whereby: 1.) HTML and DOM shall be developed principally in the WHATWG, following WHATWG Living Standard (LS) specification process; and 2.) W3C agrees to discontinue its release plans for W3C versions of HTML 5.3 and DOM 4.1. In other words, starting 28 May 2019, the WHATWG DOM Living Standard is the official DOM standard. For additional information, see Memorandum Of Understanding Between W3C And WHATWG (w3.org).

4. Resources


5. Miscellaneous