-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Expand file tree
/
Copy pathclosure.js
More file actions
36 lines (26 loc) · 941 Bytes
/
closure.js
File metadata and controls
36 lines (26 loc) · 941 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// ==== Closures ====
/* Task 1: Study the code below and explain in your own words why nested function can access the variable internal. */
const external = "I'm outside the function";
function myFunction() {
console.log(external);
const internal = "Hello! I'm inside myFunction!";
function nestedFunction() {
console.log(internal);
};
nestedFunction();
}
myFunction();
// Explanation: Because a funcction that is nested within can see out but another function cannot see in.
/* Task 2: Counter */
/* Create a function called `sumation` that accepts a parameter and uses a counter to return the summation of that number. For example, `summation(4)` should return 10 because 1+2+3+4 is 10. */
function sumation(num){
let counter = 1;
return function() {
for(num; num > 1; num--) {
counter = counter + num
}
return counter;
}
};
const addition = sumation(4);
console.log(addition());