Den Ultimata JavaScript-handboken
Styling
Styling via style attribute
Enheter i style-attribut
Misstag med måttenheter
Uppackning av CSS-egenskapsvärden
Återställning av stilar via style
Massinställning av stilar
Problem med att läsa stilar
Läsa egenskaper från CSS-filer
Omvandling av lästa värden
Styling med klasser
En klass för styling
Obekvämlighet med klasser
Alternerande stilar via data-
Elementmått
Elementutvidgning i CSS
Testelement
Elementets klientstorlek
Elementets fullständiga storlek
Elementets scrollstorlek
Elementrullning
Ändra elementrullning
Rulla element till slut
Elementutvikning
Scrollbar bredd
Fönstermått
Fönsterstorlek
Fönsterstorlek med scroll
Hämta fönstrets scrollposition
Hämta och ändra fönstrets scrollposition
Metod för att scrolla fönstret till position
Metod för att scrolla fönstret med ett värde
Metod för att scrolla fönstret till ett element
Scrollehändelse
Map-samlingar
Set-samlingar
Introduktion
Initial fyllning
Användbara funktioner
Iterering med loop
Omvandling
Ta bort dubbletter från array
Hämta utan dubbletter
Pseudomatriser
Introduktion
Likhet med matriser
Skillnader
Kontroll av matris
Omvandling till matris
Typer av pseudomatriser
Skillnad mellan typer
Symboler
Introduktion till Symbol-typen
Symbolbeskrivningar
Symboler som objektnycklar
Iterering över objekt med symboler
Funktion i objekt
Operationer med objekt i funktion
Globala symboler
Hämta symbolens namn
Välkända symboler
Iteratorer
Itererbara objekt
Iteratorfunktion
Iteratoranrop
Generatorer
Loopar i generatorer
Engångsarbete för iteratorer
Objektiterator
Skapa itererbara objekt
Generator via beräknad egenskap
Inbyggd iterator values
Inbyggd iterator keys
Inbyggd iterator entries
Tre inbyggda iteratorer
Spread-operatorn och iteratorer
Inbyggda strängiteratorer
Array med siffror i ett tal
Numrering av DOM-element
Hämta data från DOM-element
JSON-format
Lagring
Introduktion
Lagring i debugger
Data
Engångssparad
Dataomskrivning
Radering av data
Rensning av lagring
Antal poster
Hämta nyckel efter nummer
Iteration av lagring efter index
Arrayer av lagringsnycklar och värden
Lagring av strukturer
Modifiering av lagrade strukturer
Praktik
Reguljära uttryck
Introduktion
Upprepningsoperatorer
Grupperande parenteser
Eskapering av specialtecken
Klammerparenteser
Begränsning av girighet
Teckengrupper
Teckenuppsättningar
Invertering av teckenuppsättningar
Egenheter hos kyrilliska skriften
Specialtecken inuti uppsättningar
Teckengrupper inuti uppsättningar
Undantagsspecialtecken inuti uppsättningar
Hat-tecken inuti uppsättningar
Egenheter hos bindestreck inuti uppsättningar
Ignorera skiftläge
Radens början och slut
Ordgräns
Flerradsläge
Kommandot 'eller'
Variabel med reguljärt uttryck
Metoden test
Metoden search
Metoden split
Metoden match
Fickor i metoden match
Global match
Global matchAll
Metoden exec
Egenskapen lastIndex
Fickor i metoden replace
Callback i metoden replace
Standardfickor i metoden replace
Fickor i själva det reguljära uttrycket
Namngivna fickor
Namngivna fickor inuti uttrycket
Icke-bevarande parenteser
Positiv och negativ lookaround
Sträng med reguljärt uttryck
Flaggor för strängar
Omvänt snedstreck i strängar
Undantagssituationer
Introduktion
Typer av uppkomna situationer
Fånga undantag
Utveckling med try-catch
Fånga undantag i nästlad kod
Objekt med undantag
Grundläggande typer av undantag
Tillämpning av undantagstyper
Kasta undantag
Kasta olika typer av undantag
Kasta egna undantagstyper
Exempel på undantag med data-attribut
Exempel på undantag med JSON
Vidarekastning av undantag
Asynkronitet
Synkron och asynkron kod
Asynkronitet i händelsedriven modell
Asynkron bildladdning
Undantag i asynkron kod
Asynkrona callbacks
Introduktion
Asynkron överföring av resultat till callback
Överföring av parametrar till asynkron callback
Hantering av undantag i asynkrona callbacks
Laddning av bilder
Problemet med callback hell
Asynkron laddning av bilder i loop
Löften
Introduktion till löften
Exceptions
Felobjekt
Separat exceptionhantering
Löftets tillstånd
Kedjor av löften
Löften inuti kedjor
Exceptions i löftekedjor
Arbeta med arrayer av löften
Skapande av uppfyllda löften
Promisifiering av asynkron kod
Problem med promise hell
Löften i synkron stil
Exceptions i synkron stil
Bibliotek
Verktyg
Semantisk versionering
Terminal
NodeJS
Introduktion till npm
Installation via npm
Kort installationsform
Beroenden i package.json-filen
Dev-beroenden
Versionsformat för beroenden
Inställningar för package.json-filen
Skapa package.json-fil
Överföring av npm-projekt
package-lock.json-filen
Uppdatering av paket
Avinstallation av paket
Global installation via npm
Global avinstallation av paket
Verktyget npx
Köra skript via npm
Pakethanteraren Yarn
ES-moduler
Introduktion till moduler
Aktivering av ES-moduler
Installation av Webpack
Webpacks funktionssätt
Konfigurering av Webpack
Konfigurering av Webpack-byggstart
Testbygg med Webpack
Anslutning av bundle till markup
Skapande av ES-modul
Anslutning av ES-modul
Omdöpning vid import
Import av allt innehåll i en modul
Export som standard
Kombination av exporter
Import av allt innehåll vid kombination av exporter
Export av värden
Värden som konstanter
Import av npm-moduler
Dynamisk import
Dynamisk multipelimport
Omvandling av CommonJS-moduler
HTTP-protokollet
Testserver
Introduktion
Användning
Kodutförande
HTML-generering
Svarshuvuden
Portkonfiguration
Multipla starter
Formulär
Skicka formulär
Metoder för att skicka formulär
Skicka formulär med GET-metoden
Skicka formulär med POST-metoden
GET-förfrågningar
Tillämpning av GET-förfrågningar
Formulärknappar
Skicka formulär via JavaScript
Förhindra att formulär skickas
Introduktion till FormData
FormData-metoder
FormData-iteratorer
AJAX
Introduktion till AJAX
Grunder i fetch
HTTP-svarskod
Framgång för förfrågan
Exceptionsituationer
Fullständig fångst av fel
HTTP-svarshuvuden
Hämta JSON
HTTP-förfrånghuvuden
GET-förfrågningar
POST-förfrågningar
Data via URLSearchParams
Data via FormData
Skicka hela formuläret
Skicka JSON
CORS-policy
Överföring av kakor
Synkron stil
Arbeta med canvas
Kodoptimering
Hastighetsfaktorer för webbplatsladdning
Tillgängliga resurser
Optimering av upprepande operationer
Optimering av upprepning av tunga operationer
Optimering av cykliska operationer
Optimering av onödiga cykelgenomgångar
Optimering med inbyggda funktioner
Val av optimal algoritm
Optimering av användning av reguljära uttryck
Optimering av DOM-manipulering
Optimering av minnesförbrukning
Optimering av konvertering till array
Optimering av händelsehanterare
Optimering av hastighet på bekostnad av minne