Nested functions may be accessed by code outside their containing function, and be called after the containing function exits. The variables in the scope of the containing function persist so long as the nested functions that refer to them persist. By contrast, in C++, variables defined within a function cease to exist (before or) when the function exits. Of course, there is nothing like a nested function in C++.
There are four keywords:
this referring to an object,
defined within code belonging to the object,
new which creates a new object
using the constructor supplied to it, and
delete which un-defines a
member variable, and
instanceof which tests whether a
given object inherits from a given constructor.
allows them to be used as a constructor to create objects inheriting
from a prototype object and methods
apply, that permit passing arguments from
child constructors to parent constructors.
The ECMAScript Language Specification is much harder and not geared for practical use. For folks who did some computer science: ECMA-262