Closures and Callbacks
Callback Arguments
Pass a function into another function.
callback-argument
A callback is a function passed as an argument. Array methods call the callback for each element they need to process.
Callback Arguments
callback_argument.js
Replay: real traced execution (multi-file project)
const step = 2;
const values = [5, 6];
const adjusted = values.map((value) => value + step);
console.log("step=" + step);
console.log("adjusted=" + adjusted.join(","));
const step = 1;
const values = [5, 6];
const adjusted = values.map((value) => value + step);
console.log("step=" + step);
console.log("adjusted=" + adjusted.join(","));
const step = 3;
const values = [5, 6];
const adjusted = values.map((value) => value + step);
console.log("step=" + step);
console.log("adjusted=" + adjusted.join(","));
step ← 2, values ← 5,6, adjusted ← 7,8
1const step→ 2 = 2; //@step=1, 32const values→ 5,6 = [5, 6];3const adjusted→ 7,8 = values5,6.map((value) => value + step);45console.log("step=" + step2);6console.log("adjusted=" + adjusted7,8.join(","));outputstep=2 adjusted=7,8
step ← 1, values ← 5,6, adjusted ← 6,7
1const step→ 1 = 1;2const values→ 5,6 = [5, 6];3const adjusted→ 6,7 = values5,6.map((value) => value + step);45console.log("step=" + step1);6console.log("adjusted=" + adjusted6,7.join(","));outputstep=1 adjusted=6,7
step ← 3, values ← 5,6, adjusted ← 8,9
1const step→ 3 = 3;2const values→ 5,6 = [5, 6];3const adjusted→ 8,9 = values5,6.map((value) => value + step);45console.log("step=" + step3);6console.log("adjusted=" + adjusted8,9.join(","));outputstep=3 adjusted=8,9