THE WORLD'S LARGEST WEB DEVELOPER SITE

JavaScript for Statement

❮ JavaScript Statements Reference

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
  • 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


❮ JavaScript Statements Reference