Closures - Lynnvanschie/Project-Tech GitHub Wiki
Closures
In JS function zijn niet alleen functies, ze zijn ook closures. Dat betekent dat de functie body toegang heeft tot de variabelen die buiten de functie gedeclareerd zijn.
Dus binnen een functie kan je een variabele aanroepen die buiten de functie staat:
var me = 'Lynn';
function greetMe() {
console.log('Hello, ' + me + '!');
}
greatMe(); //Geeft 'Hello Lynn!'
Door closure kan je in func3
een variabele aanroepen die zich buiten de functie bevindt: in de outer scope. Daarom kan je in de console.log()
in func3
henk1
aanroepen en als resultaat "henk1"
krijgen.
// global scope
var henk1 = "henk1"
function func1() {
//local scope
var henk2 = "henk2"
function func2() {
//local scope
var henk3 = "henk3"
function func3() {
//local scope
var henk4 = "henk4"
console.log(henk1)
}
}
}
Bronnen
Fun Fun Function. (2015). Closures - Part 5 of Functional Programming in JavaScript [Videobestand]. YouTube. Geraadpleegd van https://www.youtube.com/watch?v=CQqwU2Ixu-U