JavaScript Hooglerarenboek
Styling
Stylen via het style attribuut
Meeteenheden in het style attribuut
Fouten met meeteenheden
Uitpakken van CSS eigenschapswaarden
Stijlen resetten via style
Massale instelling van stijlen
Problemen bij het lezen van stijlen
Eigenschappen lezen uit CSS bestanden
Omzetten van gelezen waarden
Stylen met classes
Eén class voor styling
Onhandigheid van classes
Afwisselen van stijlen via data-
Elementmetrieken
Uitbreiding van elementen in CSS
Testelement
Klantgrootte van element
Volledige grootte van element
Afmetingen van element met scrollen
Elementen scrollen
Scrollen van element wijzigen
Element naar einde scrollen
Uitvouwen van element
Breedte van scrollbar
Venstermetrieken
Venstergrootte
Venstergrootte inclusief scrollen
Scrollpositie van venster ophalen
Scrollpositie van venster ophalen en wijzigen
Methode om venster naar positie te scrollen
Methode om venster met een waarde te scrollen
Methode om venster naar element te scrollen
Scrollgebeurtenis
Map Collecties
Set Collecties
Inleiding
Initieel vullen
Handige mogelijkheden
Itereren met een lus
Conversie
Duplicaten uit array verwijderen
Verkrijgen zonder duplicaten
Pseudo-arrays
Inleiding
Gelijkaardigheid met arrays
Verschillen
Controle op array
Conversie naar array
Soorten pseudo-arrays
Verschil tussen soorten
Symbolen
Introductie tot het Symbol type
Beschrijvingen van symbolen
Symbolen als object sleutels
Door een object itereren met symbolen
Functie in een object
Bewerkingen met objecten in functie
Globale symbolen
Naam van een symbool ophalen
Bekende symbolen
Iterators
Iterabele objecten
Iteratorfunctie
Iteratoraanroepen
Generatoren
Lussen in generatoren
Eenmalig werk van iterators
Objectiterator
Iterabel object aanmaken
Generator via berekende eigenschap
Ingebouwde iterator values
Ingebouwde iterator keys
Ingebouwde iterator entries
Drie ingebouwde iterators
Spread operator en iterators
Ingebouwde stringiterators
Array van cijfers van een getal
Nummering van DOM-elementen
Data van DOM-elementen ophalen
JSON-formaat
Opslag
Inleiding
Opslag in debugger
Gegevens
Eenmalig opslaan
Gegevens overschrijven
Gegevens verwijderen
Opslag leegmaken
Aantal notities
Sleutel ophalen op nummer
Opslag doorlopen op index
Arrays van sleutels en waarden van opslag
Structuren opslaan
Modificatie van opgeslagen structuren
Praktijk
Reguliere expressies
Inleiding
Herhalingsoperatoren
Groeperende haakjes
Escapen van speciale tekens
Accolades
Beperking van hebzucht
Tekengroepen
Tekensets
Inverteren van tekensets
Eigenaardigheden van het Cyrillisch
Speciale tekens binnen sets
Tekengroepen binnen sets
Uitzonderings-specialetekens binnen sets
Dakjesteken binnen sets
Eigenaardigheden van het koppelteken binnen sets
Hoofdletterongevoeligheid
Begin en einde van regel
Woordgrens
Meerregeligheid
De 'of'-opdracht
Variabele met reguliere expressie
Methode test
Methode search
Methode split
Methode match
Groepen in methode match
Globale match
Globale matchAll
Methode exec
Eigenschap lastIndex
Groepen in methode replace
Callback in methode replace
Standaard groepen in methode replace
Groepen in de reguliere expressie zelf
Genoemde groepen
Genoemde groepen binnen de expressie
Niet-bewarende haakjes
Positieve en negatieve lookahead/lookbehind
String met reguliere expressie
Vlaggen voor strings
Backslash in strings
Uitzonderingssituaties
Inleiding
Soorten optredende situaties
Uitzonderingen opvangen
Ontwikkelen met try-catch
Uitzonderingen opvangen in geneste code
Object met uitzondering
Basissoorten uitzonderingen
Toepassen van uitzonderingstypen
Uitzonderingen gooien
Verschillende soorten uitzonderingen gooien
Eigen soorten uitzonderingen gooien
Voorbeeld van uitzondering met data- attributen
Voorbeeld van uitzondering met JSON
Uitzonderingen doorsturen
Asynchroon programmeren
Synchrone en asynchrone code
Asynchrone karakter van het event-model
Asynchrone karakter van het laden van afbeeldingen
Uitzonderingen in asynchrone code
Asynchrone callbacks
Inleiding
Asynchrone overdracht van resultaat naar callback
Doorgeven van parameters aan asynchrone callback
Afhandeling van uitzonderingen in asynchrone callbacks
Laden van afbeeldingen
Het probleem van callback hell
Asynchoon laden van afbeeldingen in een lus
Promises
Inleiding tot promises
Uitzonderingssituaties
Object met fout
Apart opvangen van uitzonderingen
Staten van een promise
Promise ketens
Promises binnen een keten
Uitzonderingen in promise ketens
Werken met arrays van promises
Aanmaken van vervulde promises
Promisificatie van asynchrone code
Het promise hell probleem
Promises in synchrone stijl
Uitzonderingen in synchrone stijl
Bibliotheken
Gereedschappen
Semantische versiebeheer
Terminal
NodeJS
Introductie tot npm
Installatie via npm
Korte vorm van installatie
Afhankelijkheden in package.json bestand
Dev afhankelijkheden
Versieformaten voor afhankelijkheden
Instellingen van package.json bestand
Aanmaken van package.json bestand
Overdracht van npm project
Package-lock.json bestand
Bijwerken van pakketten
Verwijderen van pakketten
Globale installatie via npm
Globaal verwijderen van pakketten
NPX gereedschap
Uitvoeren van scripts via npm
Yarn package manager
ES Modules
Inleiding tot modules
ES modules inschakelen
Webpack installeren
Werkingsprincipe van Webpack
Webpack configureren
Webpack build instellingen configureren
Testbuild via Webpack
Bundle koppelen aan opmaak
ES module aanmaken
ES module importeren
Hernoemen bij import
Volledige module-inhoud importeren
Standaard export
Combinatie van exports
Volledige inhoud importeren bij gecombineerde exports
Waarden exporteren
Waarden als constanten
npm modules importeren
Dynamisch importeren
Dynamisch meervoudig importeren
CommonJS modules converteren
HTTP-protocol
Testserver
Inleiding
Gebruik
Uitvoeren van code
HTML-generatie
Responseheaders
Poort configureren
Meervoudig opstarten
Formulieren
Formulier verzenden
Formulier verzendmethoden
Formulier verzenden met GET methode
Formulier verzenden met POST methode
GET queries
Toepassing van GET queries
Formulierknoppen
Formulier verzenden via JavaScript
Formulier verzenden voorkomen
Introductie tot FormData
FormData methoden
FormData iterators
AJAX
Inleiding tot AJAX
Basisprincipes van fetch
HTTP-antwoordcode
Succes van verzoek
Uitzonderlijke situaties
Volledige foutafhandeling
HTTP-antwoordheaders
JSON ontvangen
HTTP-verzoekheaders
GET-verzoeken
POST-verzoeken
Gegevens via URLSearchParams
Gegevens via FormData
Volledige formulierverzending
JSON verzenden
CORS-beleid
Cookies doorsturen
Synchrone stijl
Werken met canvas
Aan de slag
Lijnen tekenen
Rechthoeken tekenen
Cirkels tekenen
Lijnkleur veranderen
Lijndikte veranderen
Lussen
Code-optimalisatie
Factoren van de laadsnelheid van een website
Beschikbare middelen
Optimalisatie van herhalende bewerkingen
Optimalisatie van herhaling van zware bewerkingen
Optimalisatie van cyclische bewerkingen
Optimalisatie van onnodige herhalingen in een lus
Optimalisatie met ingebouwde functies
Keuze van het optimale algoritme
Optimalisatie van het gebruik van reguliere expressies
Optimalisatie van DOM-bewerkingen
Optimalisatie van geheugengebruik
Optimalisatie van conversie naar array
Optimalisatie van gebeurtenisafhandelaars
Optimalisatie van snelheid ten koste van geheugen
Gegevens
Onveranderlijkheid
Kopie van array
Kopie van object
Elementen toevoegen aan array
Elementen verwijderen uit array
Elementen in arrays wijzigen
Array van objecten
Genereren van willekeurige id
Element toevoegen met id
Element verwijderen op id
Element wijzigen op id
Eén eigenschap wijzigen op id
Element ophalen op id