Ga naar de inhoud

p5js.nl

Menu
  • Home
  • Unit 1
    • Unit 1, LA1
      • U1 LA1 1.1. Maak een Robot
      • U1 LA1 1.2 Lijn functies en parameters
      • U1 LA1.3 Meerhoeken, sterren, bogen
      • U1 LA 1.4 Mini-project: Maak een Taijitu (Yin & Yang)
    • Unit 1, LA 2
      • U1 LA 2.1 Meebewegen met de muis
      • U1 LA2.2 Meekleuren met de muis op je eigen variabele
      • U1 LA 2.3 Random Ellipsen
      • U1 LA2 Mini-Project Custom Emoji
    • Unit 1, LA3
      • U1 LA 3.1 Inleiding Kleur
      • U1, LA 3.2 Maak je lievelingskleur in de HSB kleurmodus
      • U1 LA 3.3 Kleuren paletten
      • U1 LA 3.4 Eenvoudige Functies
      • U1 LA 3.5 Een simpele tekst
    • Unit 1 Final Project Teken een GSM
  • Unit 2
    • Unit 2, LA1
      • U2 LA1.1 If-Then-Else Kleur die Robot
      • U2 LA 1.2 AND en OR
      • U2 LA1 Mini-Project Stoplicht
      • U2 LA1.4 Tekenen met de muis
      • U2 LA1.5 De map() functie
    • Unit 2, LA 2
      • U2 LA2.1 Raken met Collide2D
      • U2 LA2.2 Muisclicks en vormen als knop gebruiken
      • U2 LA 2.3 Meer met functies
      • U2 LA2 Final Project Light Switch Game
    • Unit 2, LA3
      • U2 Final Project Painter
  • Unit 3
    • Unit 3 LA1
      • U3 LA 1.1 While Loops
      • U3 LA 1.2 Een for-loop
      • U3 LA 1.3 For-loop in een for-loop
      • U3 Mini-Project Wallpaper design
    • Unit 3 LA2
      • U3 LA 2.1 Arrays en Loops Deel 1
      • U3 LA 2.2 Arrays en loops deel 2 – random
    • Unit 3 LA 3 Mini-Project Vision Board
      • Unit 3 LA3.1 Afbeeldingen uploaden
    • Unit 3 LA 4 Mini-Project Bewegende Tekst
      • U3 LA 4.1 Werken met fonts
      • U3 LA 4.2 Geluiden
    • Unit 3 LA 5 Mini-Project Fun Piano
    • Unit 3 Final Project Meme Generator
  • Unit 4
    • Unit 4 LA 1 Stuiteren
    • Unit 4 LA1 Mini-Project DVD-Logo
    • Unit 4 LA 2.1 & 2.2 Translations & Rotations
    • U4 LA2 MP Draai die Koppen of Calypso
    • U4 LA 3.1 Sinus en cosinus
    • U4 LA 3 Mini-Project Stoomtrein
    • Unit 4 FP Brulbrief
  • Unit 5
    • U5 LA1 Programmeer Oefeningen
    • U5 LA2 Globale Variabelen opheffen
    • U5 LA 2.1 Finite State Machine
  • Blog
  • Links
    • P5JS Editor
      • P5JS.org
      • Video's Coding Train
      • P5JS Reference
      • Intro to Computational Media (2022)
    • Openverse Images
      • Freesound
      • Music
      • Free stock photo's
      • Free Vector Images
      • Dafont
  • Contact
    • Beoordeel P5js.nl
    • Docenten Info
Menu

U5 LA2 Globale Variabelen opheffen

Geplaatst op januari 24, 2023januari 31, 2023 door De Docent

Ik ben echt de slechtste Informatica-docent van Nederland: ik heb jullie geleerd lekker veel globale variabelen te gebruiken. Onze (ja de mijne ook) coding style is echt amateur.

Wat is een globale variabele?

De eerste 10 regels van een voorbeeld dat ik gaf voor Light Switch Game

// 6 schakelaars
// elk op false zetten

let switch1; // 6x

// 6 lampen
let lamp1; // 6x

function setup() {
  createCanvas(400, 400);
}

Een globale variabele is een variabele die in je hele p5js sketch zichtbaar is. In Scope heet het in goed Engels. De scope van een variabele is de plekken waar die zichtbaar is. De scope hangt af van de plaats waar je de variabele definieert:

  • Als je binnen een functie een variabele of constante declareert is de variabele alleen binnen deze functie geldig. Dit noemen we function scope.
  • Als je binnen een paar { } accolades een variabele of constante declareert is deze alleen geldig binnen dit blok accolades. We noemen dit block scope.
  • Als je een variabele of constante “bovenaan” je code, buiten setup() en draw() definieert is deze globaal.
    • let deVariabele; // bestaat vanaf het moment van declareren
    • var deVariabele // bestaat vanaf het de start van het programma, al voordat de code ‘hier’ is.

Wat is er mis met globale variabelen?

  • Een functie verderop in je programma kan gewoon een variabele veranderen waardoor je een onoplosbare bug gemaakt hebt.
  • Je kunt dezelfde variabele naam meerdere keren gebruiken. In de andere context wordt de ene variabele gemaskeerd als je er nog een definieert met var of let. Dit heet variable masking. De meeste leerlingen zullen dit eerder per ongeluk doen dan expres.

Gebruik globale variabelen met beleid: als je ze echt nodig hebt.
Maak een variabele in een functie of block indien mogelijk. Gebruik unieke namen

eloquent architect

Hoe los ik dit op?

Het is makkelijker om gelijk goed te beginnen dan om een bestaande code te herzien. Dus wat krijg je van me: een aantal mislukte codes en jij mag t even uitzoeken. Da’s leuk!

Dit gedeelte van de opdracht moet ik nog uit mn mouw schudden

Geef een antwoord Reactie annuleren

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Dit is de vertaling-in-aanbouw van de Amerikaanse lesmethode Introduction to computational media (V2020, V2022) voor P5JS door Luisa Pereira.

Aangepast voor Nederland door docent Barry Voeten.

Creative Commons-Licentie
Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel-GelijkDelen 4.0 Internationaal-licentie.
© 2023 p5js.nl | Aangedreven door Minimalist Blog WordPress thema