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

Introduktion Användbara funktioner Iteration med loop Nycklar och värden Tillämpning av Map

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

Introduktion JSON till data Data till JSON Ändra data i JSON

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

Introduktion Användning CDN Bibliotekets olägenheter

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

Studera HTTP-handboken URLSearchParams URL

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

Komma igång Rita linjer Rita rektanglar Rita cirklar Ändra linjefärg Ändra linjestorlek Loopar

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

Data

Immutabilitet Arraykopia Objektkopia Lägga till element i en array Ta bort element från en array Ändra arrayelement Array av objekt Generera slumpmässigt id Lägga till element med id Ta bort element efter id Ändra element efter id Ändra en egenskap efter id Hämta element efter id
kkit