Array Indexing
Arrays in JScript are sparse. That is, if you have an array
with three elements that are numbered 0, 1, and 2, you can create element 50
without worrying about elements 3 through 49. If the array has an automatic
length variable (see Intrinsic Objects for an
explanation of automatic monitoring of array length), the length variable is set
to 51, rather than to 4. You can certainly create arrays in which there are no
gaps in the numbering of elements, but you aren't required to. In fact, in
JScript, your arrays don't have to have numbered subscripts at all.
In JScript, objects and arrays are essentially identical to each other. The
real difference is not in the data, but rather in the way you address the
members of an array or the properties and
methods of an object.
Addressing Arrays
There are two main ways to address the members of an array.
Ordinarily, you address arrays by using brackets. The brackets enclose either a
numeric value or an expression that
evaluates to a nonnegative integer. The following example assumes that the
entryNum variable is defined and assigned a value elsewhere in the
script.
theListing = addressBook[entryNum];
theFirstLine = theListing[1];
This method of addressing is equivalent to the method
for addressing objects, though in object addressing, what follows the period
must be the name of an actual property. If there is no such property, your code
generates an error.
The second way to address an array is to make an object/array that contains
properties that are numbered, and then generate the numbers in a loop. The
following example generates two arrays, one for the name and one for the
address, from a listing in addressBook. Each of these contains four
properties. An instance of theName, for example, built from the [Name1]
through [Name4] properties of theListing, might contain "G." "Edward"
"Heatherington" "IV", or "George" "" "Sand" "".
theListing = addressBook[entryNum];
for (i = 1; i < 4; i++) {
theName[i] = theListing["Name" + i];
theAddress[i] = theListing["Address" + i];
}
While this particular instance is short, and could
easily have been written in the "dot" style of notation,that is, addressing
theListing, theName, and theAddress as objects rather than
as arrays, that is not always possible. Sometimes the particular property may
not exist until run time, or there may be no way to know which one it will be in
advance. For example, if the addressBook array were arranged by last name
instead of by numbered listings, the user would probably be entering names "on
the fly," while the script is running, to look people up. The following example
assumes the existence of appropriate function definitions elsewhere in the
script.
theListing = addressBook[getName()];
theIndivListing = theListing[getFirstName()];
This is associative addressing of the array,
that is, addressing by means of fully arbitrary strings.
Related Posts:
JavaScript Form Validation
JavaScript Form Validation. JavaScript can be used to validate data in HTML forms
<script type="text/javascript">
function validate_all()
{
var frmReg=document.manageadmin… Read More
Javascript Making a simple MouseOver
<a href="http://www.cit.cornell.edu"onMouseOver="document.logo.src='family.gif ' ; "onMouseOut ="document.logo.src='harry.gif ' ; " ><img name="logo" src="harry.gif " border=0></a>
The onMouseOver and onM… Read More
Javascript The + Operator
The binary + operator adds numeric operands or concatenates string operands:
1 + 2 // => 3"hello" + " " + "there" // => "hello there""1" + "2" // => "12"
When the values of both operands are numbers, or are both str… Read More
JavaScript Refresh Page
you refresh the page using document.location.reload(). You can add the true keyword to force the reloaded page to come from the server (instead of cache). Alternatively, you can use the false keyword to reload the page from … Read More
Embedding Content for Plug-Ins
Although never officially a part of any HTML specification,
the <<embed>> tag is most often used to include
embedded objects for Netscape and Internet Explorer. A Macromedia Flash file
might be embedded as fo… Read More
Javascript search
search(regexp)The search() method is the same as indexOf() except that it takes aregular expression pattern instead of a substring. It also returns -1 if thepattern isn’t found."hello world".search(/[aeiou]/); // Find the fi… Read More
Javascript Objects as Arguments
You may want to write functions that take many arguments, some ofwhich are optional.function drawElement( color, border, width, height,left, top, zIndex) {// Make and display an element with these variables}drawElement("red"… Read More
Javascript Recursion
Recursion is when a function calls itself. This is often useful in mathematics,such as fi nding the nth number in the Fibonacci series (1, 2, 3, 5,8, 13, 21…).function fi bonacci(n) {if ( n < 2 ) {return 1;} else {return … Read More
JavaScript Popups
<head><script type="text/javascript">function testPopup() {window.open( "http://www.google.com/" )}</script></head><body><form><input type="button" onClick="testPopup()" value="Click"&g… Read More
JavaScript Dynamic Links and Menus
Many sites use JavaScript to create links to other website pages. Here is some examplecode with different link types that you may want to avoid:
<HTML><head><title>Link Examples ~ Things to stay away from&l… Read More
Javascript Image Objects
Properties of Image Objects
Property
Description
align
Indicates the alignment of the image, usually “left” or
“right.”
alt
The alternative text rendering for the image as set by the
alt attribu… Read More
Javascript Math object
The Math object holds a set of constants and methods
enabling more complex mathematical operations than the basic arithmetic
operators
var root = Math.sqrt(10);
Constants Provided by the Math Object
Property
… Read More
JavaScript and XML
To demonstrate JavaScript, XML, and the DOM in action, let’s
use Internet Explorer 5.5 or better to load an XML document containing our
employee directory and see if we can manipulate it. First, to load in the
document w… Read More
Remote JavaScript
The primary reason is that the round trip time required to submit a form and
then download the response is often inconvenient. The user experience is much
improved if, instead of clicking a Submit button and watching the … Read More
Function Call Spacing
Almost universally, the recommended style for function calls is to have no space between
the function name and the opening parenthesis, which is done to differentiate it
from a block statement. For example:
// Good
doSom… Read More