JavaScript is an untyped dynamic languages which is interpreted. The syntax is similar to Java but it is a different language as functions are objects and inheritance is prototype-based.
Brendan Eich is the original author of JavaScript. He claims that he wrote the first version of the language in 10 days in 1995. He was told by the engineering management that the language must “look like Java”. And he says that he used first-class functions as in Scheme (a Lisp dialect) and prototypes (as in Self, but singular) as the main ingredients.
JavaScript is known most for adding interactive elements to web pages. JavaScript programs then run in a browser. Some predefined global objects in the client program (= the web browser) make programming easier. With JavaScript you may work on the DOM (Document object model) and change it interactively. Event handlers are defined in JavaScript. The jQuery JavaScript library is well known to access the DOM in a browser interdependent way.
If one goes beyond adding simple interactive elements to web pages it turns out that the language tends to be quite difficult as it supports many ways of programming. This includes procedural, functional and object-oriented styles. And recently web servers have been written in JavaScript.
In JavaScript an object is an unordered collection of key-value pairs - or a collection of named values. In other languages this is called hash or associative array (More).
JavaScript arrays are specialized objects.
Functions may be defined and used as in a procedural language. But functions are objects too. If they are added to objects then they may be used as methods/member functions of that object. Functions without a name (=anonymous functions) are possible.
Control structures page from Wikibooks
JavaScript is standardized under the name ECMAScript. ECMAScript 3 was published in December 1999. ECMAScript 5 in December 2009. No version 4 was released.