[JavaScript] JavaScript

JavaScript is the de-facto standard scripting language for the web. It has had ups and downs (loved and hated) in its history though. By the advent of AJAX and HTML5, JavaScript becomes the must for all web developers.

 

1. Short History of JavaScript

Netscape first developed “LiveScript” as a script language for Netscape Navigator. The name “JavaScript” is intentional. Netscape joined with Sun Microsystems for the timely release of the “LiveScript” and the official name of the language became “JavaScript” due to the popularity of Java (Applet) at that time. Java and JavaScript are not related except they use the C-style syntax.

Later the core part of the language became standardized by ECMA and is named “ECMAScript“.

 

2. JavaScript Implementation

JavaScript consists of 3 parts.

  • ECMAScript : core syntax and semantics
  • DOM (Document Object Model) : Document structure and navigation
  • BOM (Browser Object Model) : Browser specific information

 

3. ECMAScript

ECMAScript defines the language itself, but not the host environment.

  • Types
  • Statements
  • Operators
  • Functions
  • Objects

 

4. DOM

DOM is an API (Application Programming Interface) for XML. DOM defines the document using hierarchical elements.

  • Level 1 (1998) : Core (structure and navigation)
  • Level 2 (2000) : Views, Events, Style
  • Level 3 (2004) : Load/Save, Validation

 

5. BOM

BOM is the least standardized area.

In web browsers, the “window” is the main (global) object through which you can access all browser related information.

  • history : the URLs that have been visited before and after the current page
  • location : the current URL of the browser window
  • navigator : the object  about the browser information
  • screen : the user’s screen object

Also BOM provides cookies and other custom objects such as XMLHttpRequest.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s