Looping is a very common programming task. A loop is
essentially a block of code that executes until certain conditions are met. JavaScript supports three types of looping statements. The while statement, the do
... while statement, and the for statement. The first two types of loops are
very similar so we will look at them together.
The While statement always has a statement or block of
statements tied to it. The condition of the while statement is tested. If the
condition is true then the statement or block of code gets executed. When the
block of code is finished executing the while statement condition is tested
again. If it is still true, the statement or block gets executed again. This
continues until the condition is false, at which point the program continues
execution on the line after the statement of block of statements. Here is a use
of the while statement to see how long an object will fall before hitting the
ground.
var distRemain = meters_to_fall;
var vel = 0;
var time = 0;
while (distRemain > 0) {
vel += 9.8;
distRemain -=
vel;
++time;
}
One thing that starting programmers must watch out for is
the infinite loop. This is a loop that will never end, meaning that the program
is stuck until stopped by the user. Most web browsers will only let loops run a
certain amount of time before brining up a dialog box telling the user about
the problem and letting the user cancel the script.
The problem with the while loop is that it’s possible that
the statement or block after the while statement will never be executed.
Sometimes you always want the statement or block to be executed at least once.
This is what the do ... while statement does. In this example we want to find
the length of time an object will decay rounded up to the nearest half life
interval. A half life is the length of time a decaying object takes to be
reduced to half of it’s original mass.
var life = startinglife;
var duration = 0;
do {
life /= 2;
++duration;
} while (life > 1);
console.log ("Lifespan of object is " +
(duration * halflife));
The most common type of loop in programming is the for loop.
The purpose of this type of loop is to count through a series of numbers. The
format of the for statement is:
for (start_condition; end_condition; increment){ /*loop
action*/ }
The start condition starts the variable that will be
counting to it's initial value. This will generally be 0 or 1, but can be any
value. If there is no need to initialize a variable, you can skip this part of
the statement by simply having the semicolon. I would consider having a
/*none*/ comment before the semi-colon so you know that there is no loop
initialization.
The end condition is simply a boolean statement like you
would use with an if statement. The loop continues until this condition is no
longer true. The condition can be any boolean condition, and could even consist
of a function call.
The increment portion is where the counting variable is
changed. It is called at the end of every loop iteration. Generally you will be
increasing the counter by 1, but it is valid to decrease the counter, or do any
other mathematical operation or call any function you wish. The following
sample will add the numbers 1 to 10 together.
var cntr, value = 0;
for (cntr = 1; cntr <= 10; ++cntr) {
value += cntr;
}
The for statement seems complex. When you get right down to
it, the for statement is really a macro statement that makes a while loop behave
as a counter. One way of better understanding a for loop is to look at the loop
as a while loop. By doing this, you will see what the three parts inside the
for loop really do. Here is the above example as a while loop.
var cntr, value = 0;
cntr = 1; // the start condition
while(cntr <= 10) // the end condition {
value += cntr;
// the loop action
++cntr; // the
increment
}
No comments:
Post a Comment