Den Høyere JavaScript Lærebok
Styling
Styling via style attribute
Measurement units in style attribute
Mistakes with measurement units
Unpacking CSS property values
Style reset via style
Mass style setting
Style reading problems
Reading properties from CSS files
Converting read values
Styling with classes
One class for styling
Inconvenience of classes
Style alternation via data-
Element-målinger
Elementutvidelse i CSS
Testelement
Klientstørrelse på element
Full størrelse på element
RulleStørrelser på element
Rulling av elementer
Endring av elementrulling
Rulle element til slutten
Elementutbretting
Rullefeltbredde
Vindusmetrikker
Vindustørrelse
Vindustørrelse med scrolling
Henting av vindusscrolling
Henting og endring av vindusscrolling
Metode for å scrolle vinduet til posisjon
Metode for å scrolle vinduet med verdi
Metode for å scrolle vinduet til element
Scrolling-hendelse
Map Samlinger
Set-samlinger
Innledning
Startfylling
Nyttige funksjoner
Gjennomløping med løkke
Konvertering
Fjerne duplikater fra array
Henting uten duplikater
Pseudomatriser
Introduksjon
Likheter med matriser
Forskjeller
Sjekk om matrise
Konvertering til matrise
Typer pseudomatriser
Forskjell mellom typer
Symboler
Innføring i Symbol-typen
Beskrivelse av symbol
Symboler som objektnøkler
Gjennomløping av objekt med symboler
Funksjon i objekt
Operasjoner med objekter i funksjon
Globale symboler
Henting av symbolnavn
Velkjente symboler
Iteratorer
Itererbare objekter
Iteratorfunksjon
Iteratoroppkall
Generatorer
Løkker i generatorer
Engangskjøring av iteratorer
Objektiterator
Opprettelse av itererbart objekt
Generator via beregnet egenskap
Innebygd iterator values
Innebygd iterator keys
Innebygd iterator entries
Tre innebygde iteratorer
Spread-operatoren og iteratorer
Innebygde strengiteratorer
Rekke med tallens sifre
Nummerering av DOM-elementer
Henting av data fra DOM-elementer
JSON-format
Lagring
Introduksjon
Lagring i debugger
Data
Engangslagring
Overskriving av data
Sletting av data
Tømming av lagring
Antall oppføringer
Henting av nøkkel etter nummer
Gjennomgang av lagring etter indekser
Matriser med nøkler og verdier fra lagring
Lagring av strukturer
Modifikasjon av lagrede strukturer
Praksis
Regulære uttrykk
Introduksjon
Repetisjonsoperatorer
Grupperende parenteser
Eskapering av spesialtegn
Krøllparenteser
Begrensning av grådighet
Tegngrupper
Tegnsett
Invertering av tegnsett
Særegenheter ved kyrillisk
Spesialtegn inni sett
Tegngrupper inni sett
Unntaksspesialtegn inni sett
Hatt-tegn inni sett
Særegenheter ved bindestrek inni sett
Ignorering av store/små bokstaver
Start og slutt på linje
Ordgrense
Flere linjer
'eller'-kommando
Variabel med regulært uttrykk
Metoden test
Metoden search
Metoden split
Metoden match
Lommer i metoden match
Global match
Global matchAll
Metoden exec
Egenskapen lastIndex
Lommer i metoden replace
Callback i metoden replace
Standard lommer i metoden replace
Lommer i selve det regulære uttrykket
Navngitte lommer
Navngitte lommer inni uttrykket
Ikke-bevarende parenteser
Positiv og negativ oppslag
Streng med regulært uttrykk
Flagg for strenger
Omvendt skråstreng i strenger
Unntakssituasjoner
Introduksjon
Typer av oppstående situasjoner
Fange unntak
Utvikling med try-catch
Fange unntak i nested kode
Objekt med unntak
Grunnleggende unntakstyper
Anvendelse av unntakstyper
Kaste unntak
Kasting av ulike unntakstyper
Kasting av egne unntakstyper
Eksempel på unntak med data-attributter
Eksempel på unntak med JSON
Viderekasting av unntak
Asynkronitet
Synkron og asynkron kode
Asynkronitet i hendelsesmodellen
Asynkron bildeinnlasting
Unntakssituasjoner i asynkron kode
Asynkrone callbacks
Introduksjon
Asynkron overføring av resultat til callback
Overføring av parametere til asynkron callback
Behandling av unntak i asynkrone callbacks
Lasting av bilder
Problemet med callback hell
Asynkron lasting av bilder i løkke
Løfter
Introduksjon til løfter
Unntakssituasjoner
Feilobjekt
Separat unntakshåndtering
Løftets tilstander
Løftekjeder
Løfter inni kjeder
Unntak i løftekjeder
Arbeid med løftematriser
Opprettelse av oppfylte løfter
Promisifisering av asynkron kode
Problem med promise hell
Løfter i synkron stil
Unntak i synkron stil
Biblioteker
Verktøy
Semantisk versjonering
Terminal
NodeJS
Introduksjon til npm
Installasjon via npm
Kort form for installasjon
Avhengigheter i package.json filen
Dev avhengigheter
Versjonsformater for avhengigheter
Innstillinger for package.json filen
Opprettelse av package.json filen
Overføring av npm prosjekt
Package-lock.json filen
Oppdatering av pakker
Avinstallering av pakker
Global installasjon via npm
Global avinstallering av pakker
Verktøyet npx
Kjøring av skript via npm
Pakkehåndtereren Yarn
ES-moduler
Introduksjon til moduler
Aktivering av ES-moduler
Installasjon av Webpack
Prinsippet for hvordan Webpack fungerer
Konfigurasjon av Webpack
Konfigurasjon av Webpack-byggstarter
Testbygg med Webpack
Tilkobling av bundle til markup
Opprettelse av ES-modul
Tilkobling av ES-modul
Omdøping ved import
Import av alt innhold i modulen
Standard eksport
Kombinasjon av eksporter
Import av alt innhold ved kombinasjon av eksporter
Eksport av verdier
Verdier som konstanter
Import av npm-moduler
Dynamisk import
Dynamisk multippel import
Konvertering av CommonJS-moduler
HTTP-protokollen
Testserver
Introduksjon
Bruk
Kjøring av kode
Generering av HTML
Responsheadere
Konfigurering av port
Multippel oppstart
Skjemaer
Innsending av skjemaer
Metoder for innsending av skjemaer
Innsending av skjemaer med GET-metoden
Innsending av skjemaer med POST-metoden
GET-forespørsler
Anvendelse av GET-forespørsler
Skjemaknapper
Innsending av skjemaer via JavaScript
Forhindre innsending av skjema
Introduksjon til FormData
FormData-metoder
FormData-iteratorer
AJAX
Innføring i AJAX
Grunnleggende om fetch
HTTP-svarkode
Suksess av forespørsel
Unntakssituasjoner
Fullstendig feilfangst
HTTP-svarheadere
Henting av JSON
HTTP-forespørselheadere
GET-forespørsler
POST-forespørsler
Data via URLSearchParams
Data via FormData
Innsending av hele skjemaet
Sending av JSON
CORS-policy
Overføring av informasjonskapsler
Synkron stil
Arbeid med canvas
Komme i gang
Tegning av linjer
Tegning av rektangler
Tegning av sirkler
Endre linjefarge
Endre linjestørrelse
Løkker
Optimalisering av kode
Faktorer for nettstedets lastehastighet
Tilgjengelige ressurser
Optimalisering av repeterende operasjoner
Optimalisering av repetisjon av tunge operasjoner
Optimalisering av sykliske operasjoner
Optimalisering av unødvendige løkkegjennomganger
Optimalisering ved hjelp av innebygde funksjoner
Valg av optimal algoritme
Optimalisering av bruk av regulære uttrykk
Optimalisering av arbeid med DOM
Optimalisering av minneforbruk
Optimalisering av konvertering til array
Optimalisering av hendelseshåndterere
Optimalisering av hastighet på bekostning av minne