-
Notifications
You must be signed in to change notification settings - Fork 3.6k
/
Copy pathclosure.js
33 lines (20 loc) · 853 Bytes
/
closure.js
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
// ==== 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: Internal is located within the nested function, so it is within the scope, therefore can be accessed.
/* 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 summation(a) {
return function(b) {
return a + b; // takes "a" from the outer lexical environment
};
}