Loops and Ranges
Counting For Loops
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
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);
limit ← 4, total ← 0
1const limit→ 4 = 4; //@limit=2, 62let total→ 0 = 0;3for (let i = 1; i <= limit; i += 1) {total ← 1
pass 1 of 41const limit = 4; //@limit=2, 62let total = 0;3for (let i1 = 1; i <= limit4; i += 1) {4 total += i1;5}values this step1totalAll 4 passes — pass 1 is the card above pass itotal1 1 1 2 2 3 3 3 6 4 4 10 console.log("limit=" + limit);
4 total += i;5}67console.log("limit=" + limit4);8console.log("total=" + total10);outputlimit=4 total=10
limit ← 2, total ← 0
1const limit→ 2 = 2;2let total→ 0 = 0;3for (let i = 1; i <= limit; i += 1) {total ← 1
pass 1 of 21const limit = 2;2let total = 0;3for (let i1 = 1; i <= limit2; i += 1) {4 total += i1;5}values this step1totaltotal ← 3
pass 2 of 21const limit = 2;2let total = 0;3for (let i2 = 1; i <= limit2; i += 1) {4 total += i2;5}values this step3totalconsole.log("limit=" + limit);
4 total += i;5}67console.log("limit=" + limit2);8console.log("total=" + total3);outputlimit=2 total=3
limit ← 6, total ← 0
1const limit→ 6 = 6;2let total→ 0 = 0;3for (let i = 1; i <= limit; i += 1) {total ← 1
pass 1 of 61const limit = 6;2let total = 0;3for (let i1 = 1; i <= limit6; i += 1) {4 total += i1;5}values this step1totalAll 6 passes — pass 1 is the card above pass itotal1 1 1 2 2 3 3 3 6 4 4 10 5 5 15 6 6 21 console.log("limit=" + limit);
4 total += i;5}67console.log("limit=" + limit6);8console.log("total=" + total21);outputlimit=6 total=21