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,
statement
is executed. When condition evaluates to false, execution continues with the statement after thewhile
loop. 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 thebreak
statement 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.
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