Every array has a
length property. Unlike most
length is not
an upper bound. If you store an element with a subscript that is greater than or
equal to the current
length will increase to contain the new element. There
is no array bounds error.
length property is the largest integer
property name in the array plus one. This is not necessarily the number of
properties in the array:
var myArray = ; myArray.length // 0 myArray = true; myArray.length // 1000001 // myArray contains one property.
 postfix subscript operator converts its
expression to a string using the expression's
toString method if it has one. That string will be used as the
property name. If the string looks like a positive integer that is greater than or
equal to the array's current
length and is less
than 4,294,967,295, then the
length of the array
is set to the new subscript plus one.
length can be set explicitly. Making the
length larger does not allocate more space
for the array. Making the
length smaller will
cause all properties with a subscript that is greater than or equal to the new
length to be deleted:
numbers.length = 3; // numbers is ['zero', 'one', 'two']
A new element can be appended to the end of an array by assigning to the array's
numbers[numbers.length] = 'shi'; // numbers is ['zero', 'one', 'two', 'shi']
It is sometimes more convenient to use the
method to accomplish the same thing:
numbers.push('go'); // ...