The while statement creates a loop that executes a specified statement as long as the test condition evaluates to true. The condition is evaluated before executing the statement.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
while (condition) statement
condition- An expression evaluated before each pass through the loop. If this condition evaluates to true,
statementis executed. When condition evaluates to false, execution continues with the statement after thewhileloop. statement- An optional statement that is executed as long as the condition evaluates to true. To execute multiple statements within the loop, use a block statement (
{ ... }) to group those statements. Note: Use thebreakstatement to stop a loop before condition evaluates to true.
Examples
Using while
The following while loop iterates as long as n is less than three.
var n = 0;
var x = 0;
while (n < 3) {
n++;
x += n;
}
Each iteration, the loop increments n and adds it to x. Therefore, x and n take on the following values:
- After the first pass:
n= 1 andx= 1 - After the second pass:
n= 2 andx= 3 - After the third pass:
n= 3 andx= 6
After completing the third pass, the condition n < 3 is no longer true, so the loop terminates.
Specifications
| Specification |
|---|
| ECMAScript (ECMA-262)The definition of 'while statement' in that specification. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
while
|
Chrome
Full support 1 |
Edge
Full support 12 |
Firefox
Full support 1 |
IE
Full support 3 |
Opera
Full support 3 |
Safari
Full support 1 |
WebView Android
Full support 1 |
Chrome Android
Full support 18 |
Firefox Android
Full support 4 |
Opera Android
Full support 10.1 |
Safari iOS
Full support 1 |
Samsung Internet Android
Full support 1.0 |
nodejs
Full support 0.1.100 |
Legend
- Full support
- Full support
See also
while by Mozilla Contributors is licensed under CC-BY-SA 2.5.