Den Højere JavaScript Lærebog
Styling
Styling via style-attribut
Måleenheder i style-attributten
Fejl med måleenheder
Udpakning af CSS-egenskabsværdier
Nulstilling af stile via style
Massesætning af stile
Læseproblemer med stile
Læsning af egenskaber fra CSS-filer
Konvertering af læste værdier
Styling med klasser
Én klasse til styling
Ulempe ved klasser
Veksling af stile via data-
Elementmålinger
Elementudvidelse i CSS
Testelement
Elementets klientstørrelse
Elementets fulde størrelse
Elementets scrollestørrelse
Scrolling af elementer
Ændring af elementets scrolling
Scroll element til slutningen
Udfoldning af element
Scrollbjælkens bredde
Vinduesmetrikker
Vinduesstørrelse
Vinduesstørrelse inklusiv scroll
Hent vindues scrollposition
Hent og ændr vindues scrollposition
Metode til at scrolle vinduet til en position
Metode til at scrolle vinduet med en værdi
Metode til at scrolle vinduet til et element
Scroll-event
Map Samlinger
Set samlinger
Introduktion
Indledende fyldning
Nyttige funktioner
Gennemløb med løkke
Konvertering
Fjernelse af dubletter fra array
Hentning uden dubletter
Pseudoaarrays
Introduktion
Lighed med arrays
Forskelle
Kontrol for array
Konvertering til array
Typer af pseudoaarrays
Forskel mellem typer
Symboler
Introduktion til Symbol-typen
Symbolbeskrivelser
Symboler som objektnøgler
Gennemløb af objekt med symboler
Funktion i objekt
Operationer med objekter i funktion
Globale symboler
Hentning af symbolnavn
Velkendte symboler
Iteratorer
Iterérbare objekter
Iteratorfunktion
Iterator kald
Generatorer
Løkker i generatorer
Iteratorers engangsarbejde
Objekt iterator
Oprettelse af iterérbart objekt
Generator via beregnet egenskab
Indbygget iterator values
Indbygget iterator keys
Indbygget iterator entries
Tre indbyggede iteratorer
Spread operatoren og iteratorer
Indbyggede streng iteratorer
Array af tal cifre
Nummerering af DOM elementer
Hentning af DOM element data
JSON-formatet
Lager
Introduktion
Lager i debugger
Data
Engangsgemring
Overskrivning af data
Sletning af data
Rydning af lager
Antal poster
Hent nøgle efter nummer
Gennemgang af lager efter indeks
Arrays med lagernøgler og værdier
Lagring af strukturer
Modifikation af lagrede strukturer
Praksis
Regulære udtryk
Introduktion
Gentagelsesoperatorer
Grupperingsparenteser
Eskapering af specialtegn
Krøllede parenteser
Begrænsning af grådighed
Tegngrupper
Tegnsæt
Invertering af tegnsæt
Særlige forhold for kyrillisk
Specialtegn inde i sæt
Tegngrupper inde i sæt
Undtagelses-specialtegn inde i sæt
Hatte-tegn inde i sæt
Særlige forhold for bindestreg inde i sæt
Ignorering af store og små bogstaver
Start og slutning af linje
Orggrænse
Flere linjer
Kommandoen 'eller'
Variabel med regulært udtryk
Metoden test
Metoden search
Metoden split
Metoden match
Lommer i metoden match
Global match
Global matchAll
Metoden exec
Egenskaben lastIndex
Lommer i metoden replace
Callback i metoden replace
Standard lommer i metoden replace
Lommer i selve det regulære udtryk
Navngivne lommer
Navngivne lommer inde i udtrykket
Ikke-bevarende parenteser
Positiv og negativ opslag
Streng med regulært udtryk
Flag for strenge
Omvendt skråstreg i strenge
Undtagelsessituationer
Introduktion
Typer af opståede situationer
Fangst af undtagelser
Udvikling med try-catch
Fangst af undtagelser i indlejret kode
Objekt med undtagelse
Grundlæggende undtagelsestyper
Anvendelse af undtagelsestyper
Kast af undtagelser
Kast af forskellige typer undtagelser
Kast af egne undtagelsestyper
Eksempel på undtagelse med data-attributter
Eksempel på undtagelse med JSON
Videregivelse af undtagelser
Asynkronitet
Synkron og asynkron kode
Asynkronitet i begivenhedsmodellen
Asynkron indlæsning af billeder
Undtagelser i asynkron kode
Asynkronne callbacks
Introduktion
Asynkron videregivelse af resultat til callback
Videregivelse af parametre til asynkron callback
Håndtering af undtagelser i asynkrone callbacks
Indlæsning af billeder
Problemet callback hell
Asynkron indlæsning af billeder i løkke
Promises
Introduktion til promises
Undtagelser
Fejlobjekt
Separat undtagelseshåndtering
Promise-tilstande
Promise-kæder
Promises inde i kæder
Undtagelser i promise-kæder
Arbejde med promise-arrays
Oprettelse af opfyldte promises
Promisifikation af asynkron kode
Promise hell-problemet
Promises i synkron stil
Undtagelser i synkron stil
Biblioteker
Værktøjer
Semantisk Versionering
Terminal
NodeJS
Introduktion til npm
Installation via npm
Kort installationsform
Afhængigheder i package.json filen
Dev afhængigheder
Versionsformater for afhængigheder
Indstillinger for package.json filen
Oprettelse af package.json filen
Overførsel af npm projekt
package-lock.json filen
Opdatering af pakker
Fjernelse af pakker
Global installation via npm
Global fjernelse af pakker
Værktøjet npx
Kørsel af scripts via npm
Pakkehåndteringen Yarn
ES-moduler
Introduktion til moduler
Tænding af ES-moduler
Installation af Webpack
Webpacks arbejdsprincip
Konfiguration af Webpack
Konfiguration af Webpack build-kørsel
Test build via Webpack
Tilslutning af bundle til markup
Oprettelse af ES-modul
Tilslutning af ES-modul
Omdøbning ved import
Import af alt modulindhold
Standardeksport
Kombination af eksporter
Import af alt indhold ved kombination af eksporter
Eksport af værdier
Værdier som konstanter
Import af npm-moduler
Dynamisk import
Dynamisk multipel import
Omregning af CommonJS-moduler
HTTP-protokollen
Testserver
Introduktion
Brug
Udførelse af kode
Generering af HTML
Responsheadere
Konfiguration af port
Multipl start
Formularer
Indsendelse af formularer
Metoder til indsendelse af formularer
Indsendelse af formularer med GET-metoden
Indsendelse af formularer med POST-metoden
GET-forespørgsler
Anvendelse af GET-forespørgsler
Formularknapper
Indsendelse af formularer via JavaScript
Forhindring af formularens indsendelse
Introduktion til FormData
FormData-metoder
FormData-iteratorer
AJAX
Introduktion til AJAX
Grundlæggende fetch
HTTP-svarstatuskode
Anmodnings succes
Undtagelsestilstande
Fuld fejlhåndtering
HTTP-svarheadere
Hent JSON
HTTP-anmodningsheadere
GET-anmodninger
POST-anmodninger
Data via URLSearchParams
Data via FormData
Indsendelse af hele formular
Send JSON
CORS-politik
Overførsel af cookies
Synkron stil
Arbejde med canvas
Kom godt i gang
Tegning af linjer
Tegning af rektangler
Tegning af cirkler
Skift linjefarve
Skift linjestørrelse
Løkker
Optimering af kode
Hjemmeside indlæsningshastighed faktorer
Tilgængelige ressourcer
Optimering af gentagne operationer
Optimering af gentagelse af tunge operationer
Optimering af loop operationer
Optimering af unødvendige loop gennemløb
Optimering via indbyggede funktioner
Valg af optimal algoritme
Optimering af brugen af regulære udtryk
Optimering af arbejde med DOM
Optimering af hukommelsesforbrug
Optimering af konvertering til array
Optimering af event handlers
Optimering af hastighed på bekostning af hukommelse
Data
Immutabilitet
Kopiering af array
Kopiering af objekt
Tilføjelse af elementer til et array
Sletning af array-elementer
Ændring af array-elementer
Array af objekter
Generering af tilfældigt id
Tilføjelse af element med id
Sletning af element via id
Ændring af element via id
Ændring af en egenskab via id
Hentning af element via id