Run a loop a fixed number of times.

counting-for A counting `for` loop has an initializer, a condition, and an update. Each pass through the loop is one iteration.

Counting For Loops

limit
counting_for.js
Replay: real traced execution (multi-file project)
const limit = 4;
let total = 0;
for (let i = 1; i <= limit; i += 1) {
  total += i;
}

console.log("limit=" + limit);
console.log("total=" + total);
const limit = 2;
let total = 0;
for (let i = 1; i <= limit; i += 1) {
  total += i;
}

console.log("limit=" + limit);
console.log("total=" + total);
const limit = 6;
let total = 0;
for (let i = 1; i <= limit; i += 1) {
  total += i;
}

console.log("limit=" + limit);
console.log("total=" + total);
  1. limit ← 4, total ← 0

    1const limit→ 4 = 4; //@limit=2, 62let total→ 0 = 0;3for (let i = 1; i <= limit; i += 1) {
  2. total ← 1

    pass 1 of 4
    1const limit = 4; //@limit=2, 62let total = 0;3for (let i1 = 1; i <= limit4; i += 1) {4  total += i1;5}
    values this step1total
    All 4 passes — pass 1 is the card above
    passitotal
    111
    223
    336
    4410
  3. console.log("limit=" + limit);

    4  total += i;5}67console.log("limit=" + limit4);8console.log("total=" + total10);
    outputlimit=4
    total=10
  1. limit ← 2, total ← 0

    1const limit→ 2 = 2;2let total→ 0 = 0;3for (let i = 1; i <= limit; i += 1) {
  2. total ← 1

    pass 1 of 2
    1const limit = 2;2let total = 0;3for (let i1 = 1; i <= limit2; i += 1) {4  total += i1;5}
    values this step1total
  3. total ← 3

    pass 2 of 2
    1const limit = 2;2let total = 0;3for (let i2 = 1; i <= limit2; i += 1) {4  total += i2;5}
    values this step3total
  4. console.log("limit=" + limit);

    4  total += i;5}67console.log("limit=" + limit2);8console.log("total=" + total3);
    outputlimit=2
    total=3
  1. limit ← 6, total ← 0

    1const limit→ 6 = 6;2let total→ 0 = 0;3for (let i = 1; i <= limit; i += 1) {
  2. total ← 1

    pass 1 of 6
    1const limit = 6;2let total = 0;3for (let i1 = 1; i <= limit6; i += 1) {4  total += i1;5}
    values this step1total
    All 6 passes — pass 1 is the card above
    passitotal
    111
    223
    336
    4410
    5515
    6621
  3. console.log("limit=" + limit);

    4  total += i;5}67console.log("limit=" + limit6);8console.log("total=" + total21);
    outputlimit=6
    total=21