Exercise – Scope
by Zachary Ho
JavaScript
/**
* Exercise:
*
* Function Scope
*
* Work in the console, or use "console.log()" to output to the console
* from the script
*
* You could also use console.assert(boolean) to test your functions
*
* Part 1: Write two functions that share the same, global variable
* - Verify this by logging the value of the variable to the console
* from within each function
*/
// write solution to part 1 here
var globalVar = 1;
function func1() {
globalVar = 2;
console.log(globalVar);
}
function func2() {
globalVar = 3;
console.log(globalVar);
}
//func1();
//func2();
/*
* Part 2: Write two functions that share a non-global variable
* - Verify this by logging the value of the variable to the console
* from within each function
*
* Hint: You can write functions inside of other functions...
*/
// write solution to part 2 here
function outerFunc() {
var inside = 1;
console.log(inside);
function innerFunc() {
inside += 2;
console.log(inside);
}
innerFunc();
}
//outerFunc();
/*
* Bonus: Write a function (outer) that returns another function (inner)
*
* The outer function expects one Number parameter, x
* The inner function should add 1 to x and log it to the console
*
* Hint: You will need to run the outer function once
* in order to get the inner function
*/
// write solution to bonus here
function outer(x) {
function inner() {
x += 1;
console.log(x);
}
return inner;
}
var made = outer(1);
made();