JavaScript for Statement
Example
Loop through a block of code five times:
var text = "";
var i;
for (i = 0; i < 5; i++) {
text += "The number is " + i + "<br>";
}
Try it Yourself »
More "Try it Yourself" examples below.
Definition and Usage
The for statement creates a loop that is executed as long as a condition is true.
The loop will continue to run as long as the condition is true. It will only stop when the condition becomes false.
JavaScript supports different kinds of loops:
- for - loops through a block of code a number of times
- for/in - loops through the properties of an object
- for/of - loops through the values of an iterable object
- while - loops through a block of code while a specified condition is true
- do/while - loops through a block of code once, and then repeats the loop while a specified condition is true
Tip: Use the break statement to break out of a loop, and the continue statement to skip a value in the loop.
Browser Support
Statement | |||||
---|---|---|---|---|---|
for | Yes | Yes | Yes | Yes | Yes |
Syntax
for (statement 1; statement 2; statement 3) {
code block to be executed
}
Parameter Values
Parameter | Description |
---|---|
statement1 | Optional. Executed before the loop (the code block) starts. Normally this statement is used to initialize a counter variable. To initiate multiple values, separate each value with a comma. Note: This parameter can be omitted. However, do not omit the semicolon ";" |
statement2 | Optional. Defines the condition for running the loop (the code block). Normally this statement is used to evaluate the condition of the counter variable. If it returns true, the loop will start over again, if it returns false, the loop will end. Note: This parameter can be omitted. However, do not omit the semicolon ";". Also, if you omit this parameter, you must provide a break inside the loop. Otherwise the loop will never end, which will crash your browser |
statement3 | Optional. Executed each time after the loop (the code block) has been executed. Normally this statement is used to increment or decrement the counter variable. Note: This parameter can be omitted (e.g. to increase/decrease values inside the loop) |
Technical Details
JavaScript Version: | ECMAScript 1 |
---|
More Examples
Example
Loop through the indices of an array to collect the car names from the cars array:
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
var i;
for (i = 0; i < cars.length; i++) {
text += cars[i] + "<br>";
}
Try it Yourself »
Example above explained:
- First, we set a variable before the loop starts (var i = 0;)
- Then, we define the condition for the loop to run. As long as the variable is less than the length of the array (which is 4), the loop will continue
- Each time the loop executes, the variable is incremented by one (i++)
- Once the variable is no longer less than 4 (array's length), the condition is false, and the loop will end
Example
Initiate multiple values in the first parameter:
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i;
for (i = 0, len = cars.length, text = ""; i < len; i++) {
text += cars[i] + "<br>";
}
Try it Yourself »
Example
Omit the first parameter (set values before the loop starts):
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 2;
var len = cars.length;
var text = "";
for (; i < len; i++) {
text += cars[i] + "<br>";
}
Try it Yourself »
Example
Using the continue statement - Loop through a block of code, but skip the value of "3":
var text = "";
var i;
for (i = 0; i < 5; i++) {
if (i == 3) {
continue;
}
text += "The number is " + i + "<br>";
}
Try it Yourself »
Example
Using the break statement - Loop through a block of code, but exit the loop when the variable i is equal to "3":
var text = "";
var i;
for (i = 0; i < 5; i++) {
if (i == 3) {
break;
}
text += "The number is " + i + "<br>";
}
Try it Yourself »
Example
Omit the second parameter. In this example, we also use the break statement to exit the loop when i is equal to "3" (if the second parameter is omitted, you must provide a break inside the loop. Otherwise the loop will never end, and your browser will crash):
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
var i;
for (i = 0; ; i++) {
if (i == 3) {
break;
}
text += cars[i] + "<br>";
}
Try it Yourself »
Example
Loop through the indices of an array, in descending order (negative increment):
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var text = "";
var i;
for (i = cars.length - 1; i >= 0; i--) {
text += cars[i] + "<br>";
}
Try it Yourself »
Example
Omit the last parameter, and increment the values inside the loop:
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var len = cars.length;
for (; i < len;) {
text += cars[i] + "<br>";
i++;
}
Try it Yourself »
Example
Loop through the nodes of a NodeList object and change the background color of all <p> elements in the list:
var myNodelist = document.getElementsByTagName("P");
var i;
for (i = 0; i < myNodelist.length; i++) {
myNodelist[i].style.backgroundColor = "red";
}
Try it Yourself »
Example
An example of a nested loop (a loop inside a loop):
var text = "";
var i, j;
for (i = 0; i < 3; i++) {
text += "<br>" + "i = " + i + ", j = ";
for (j = 10; j < 15; j++) {
document.getElementById("demo").innerHTML = text += j + " ";
}
}
Try it Yourself »
Related Pages
JavaScript Tutorial: JavaScript For Loop
JavaScript Reference: JavaScript for ... in Statement
JavaScript Reference: JavaScript break Statement
JavaScript Reference: JavaScript continue Statement
JavaScript Reference: JavaScript while Statement