Nu je eigen functies kunt maken, is het niet meer zo makkelijk met die variabelen. Niet elke variabele werkt overal.
Wat is de scope van een variabele?
Dat is de plek / plekken waar deze geldig is. Waar deze variabele-naam bekend is. Waar deze hopelijk een waarde heeft.
Als je een variabele gebruikt buiten zijn scope:
- als je een waarde geeft (assignment) zoals
mijnX = 20
, dan maak (definieer) je een nieuwe variabele met dezelfde naam maar een andere scope. Denk maar aan een Jasmijn in klas 1D en een Jasmijn in klas 1E. Is gewoon een andere Jasmijn. - als je een variabele gebruikt zoals circle(mijnX,100) buiten de scope, dan krijg je een fout:
In Javascript zijn 3 scopes mogelijk
- Global scope. Dit doe je met
let
ofvar
helemaal bovenaan de sketch, voor desetup()
- Binnen een functie.
function scopeDemo() {
let demo = "jaja"
print(demo)
}
Buiten de functiescopeDemo()
is de variabeledemo
niet bekend. - Binnen een for-loop.
for ( i=0; i<=20; i++ ) {
var account = i;
}
De variabeleni
enaccount
werken alleen binnen de loop.
Deze hoef je pas precies te kennen nadat je de for-loop zelf ook gehad hebt.