Show tasks
Jazyk JavaScript
Úvod
Úvod do JavaScriptu
Manuály a specifikace
Editory kódu
Vývojářská konzole
Základy JavaScriptu
Ahoj, světe!
Zobrazte zprávu
Zobrazte zprávu pomocí externího skriptu
Struktura kódu
Moderní režim, „use strict“
Proměnné
Práce s proměnnými
Správná volba názvu
Konstanta velkými písmeny?
Datové typy
Uvozovky řetězců
Interakce: alert, prompt, confirm
Jednoduchá stránka
Typová konverze
Základní operátory, matematika
Postfixová a prefixová notace
Výsledek přiřazení
Typová konverze
Opravte sčítání
Porovnávání
Porovnávání
Podmíněné větvení: if, „?“
if (řetězec s nulou)
Název JavaScriptu
Zobrazte znaménko
Přepište „if“ na „?“
Přepište „if..else“ na „?“
Logické operátory
Jaký je výsledek OR?
Jaký je výsledek alertů spojených ORem?
Jaký je výsledek AND?
Jaký je výsledek alertů spojených ANDem?
Výsledek OR AND OR
Ověřte, zda je hodnota v rozsahu
Ověřte, zda hodnota je mimo rozsah
Otázka na „if“
Ověřte přihlášení
Operátor koalescence „??“
Cykly: while a for
Poslední hodnota v cyklu
Které hodnoty zobrazí cyklus while?
Které hodnoty zobrazí cyklus „for“?
Vypište sudá čísla v cyklu
Nahraďte cyklus „for“ cyklem „while“
Opakujte, dokud vstup nebude správně
Vypište prvočísla
Příkaz „switch“
Přepište „switch“ na „if“
Přepište „if“ na „switch“
Funkce
Je nutné „else“?
Přepište funkci pomocí „?“ nebo „||“
Funkce min(a, b)
Funkce mocnina(x,n)
Funkční výrazy
Šipkové funkce (arrow funkce) – základy
Přepište na šipkové funkce
Speciality JavaScriptu
Kvalita kódu
Ladění v prohlížeči
Styl zápisu programu
Špatný styl
Komentáře
Ninjův kód
Automatické testování pomocí Mochy
Co je na tomto testu špatně?
Polyfilly a transpilátory
Objekty: základy
Objekty
Ahoj, objekte
Ověření prázdnoty
Sečtěte vlastnosti objektu
Vynásobte hodnoty číselných vlastností dvěma
Odkazy na objekty a kopírování objektů
Sběr odpadků
Objektové metody, „this“
Použití „this“ v objektovém literálu
Vytvořte kalkulátor
Zřetězení
Konstruktor, operátor „new“
Dvě funkce – jeden objekt
Vytvořte nový Kalkulátor
Vytvořte nový Akumulátor
Volitelné zřetězení „?.“
Typ symbol
Konverze objektů na primitivní typy
Datové typy
Metody primitivů
Mohu přidat vlastnost do řetězce?
Čísla
Sečtěte čísla od návštěvníka
Proč 6.35.toFixed(1) == 6.3?
Opakování, dokud na vstupu nebude číslo
Občasná nekonečná smyčka
Náhodné číslo od min do max
Náhodné celé číslo od min do max
Řetězce
Změňte první znak na velké písmeno
Kontrola spamu
Zkrácení textu
Vyjmutí částky
Pole
Zkopíruje se pole?
Operace s poli
Volání v kontextu pole
Sečtěte čísla na vstupu
Maximální podpole
Metody polí
Změňte border-left-width na borderLeftWidth
Filtrace podle rozsahu
Filtrace podle rozsahu „na místě“
Seřaďte pole v sestupném pořadí
Zkopírujte a seřaďte pole
Vytvořte rozšiřitelný kalkulátor
Mapování na jména
Mapování na objekty
Seřazení uživatelů podle věku
Míchání pole
Zjištění průměrného věku
Filtrace unikátních prvků pole
Vytvoření klíčovaného objektu z pole
Iterovatelné objekty
Mapa a množina
Filtrace unikátních prvků pole
Filtrace anagramů
Iterovatelné klíče
Slabá mapa a slabá množina
Uložení označení „přečteno“
Uložení data přečtení
Metody Object.keys, values, entries
Součet vlastností
Počet vlastností
Destrukturační přiřazení
Destrukturační přiřazení
Nejvyšší plat
Datum a čas
Vytvoření data
Zobrazení dne v týdnu
Evropský den v týdnu
Který den v měsíci byl před mnoha dny?
Poslední den v měsíci?
Kolik sekund už dnes uplynulo?
Kolik sekund zbývá do zítřka?
Relativní formátování data
Metody pro JSON, toJSON
Převeďte objekt do JSONu a zpět
Vyřaďte zpětné odkazy
Pokročilá práce s funkcemi
Rekurze a zásobník
Sečtěte všechna čísla až do zadaného
Výpočet faktoriálu
Fibonacciho čísla
Vypište lineární spojový seznam
Vypište lineární spojový seznam v opačném pořadí
Zbytkové parametry a roztažená syntaxe
Oblast platnosti proměnné, uzávěr
Odrážejí se ve funkci poslední změny?
Které proměnné jsou dostupné?
Jsou čítače nezávislé?
Objekt čítače
Funkce v if
Součet s uzávěry
Je proměnná viditelná?
Filtrace pomocí funkce
Řazení podle vlastnosti
Armáda funkcí
Starý příkaz „var“
Globální objekt
Funkční objekt, NFE
Nastavení a snížení čítače
Sčítání s libovolným počtem závorek
Syntaxe „new Function“
Časování: setTimeout a setInterval
Výstup každou sekundu
Co zobrazí setTimeout?
Dekorátory a přesměrování, call/apply
Špiónský dekorátor
Zpožďovací dekorátor
Vyčkávací (debounce) dekorátor
Tlumící (throttle) dekorátor
Vazby funkcí
Vázaná funkce jako metoda
Druhá vazba
Vlastnost funkce po bind
Opravte funkci, která ztrácí „this“
Částečná aplikace pro přihlášení
Šipkové funkce podruhé
Konfigurace vlastností objektů
Přepínače a deskriptory vlastností
Gettery a settery vlastností
Prototypy, dědičnost
Prototypová dědičnost
Práce s prototypem
Vyhledávací algoritmus
Kam se to zapíše?
Proč jsou oba křečci sytí?
F.prototype
Změna „prototype“
Vytvoření objektu stejným konstruktorem
Nativní prototypy
Přidejte do funkcí metodu „f.odlož(ms)“
Přidejte do funkcí dekorační „odlož()“
Prototypové metody, objekty bez __proto__
Přidejte toString do slovníku
Rozdíl mezi voláními
Třídy
Základní syntaxe tříd
Přepište na třídu
Třídní dědičnost
Chyba při vytváření instance
Rozšířené hodiny
Statické vlastnosti a metody
Třída rozšiřuje Object?
Soukromé a chráněné vlastnosti a metody
Rozšiřování vestavěných tříd
Ověřování tříd: „instanceof“
Podivné instanceof
Mixiny
Ošetřování chyb
Ošetřování chyb, „try...catch“
Klauzule finally nebo jen kód?
Vlastní chyby, rozšíření třídy Error
Dědění ze třídy SyntaxError
Přísliby, async/await
Úvod: callbacky
Příslib
Znovusplnění příslibu?
Čekání s příslibem
Animovaný kruh s příslibem
Zřetězení příslibů
Příslib: then oproti catch
Ošetřování chyb pomocí příslibů
Chyba ve funkci setTimeout
Příslibové API
Promisifikace
Mikroúlohy
Async/await
Přepište za použití async/await
Přepište „opětovné vyvolání“ za použití async/await
Volání asynchronní funkce z neasynchronní
Nebezpečný Promise.all
Generátory, pokročilá iterace
Generátory
Generátor pseudonáhodných čísel
Asynchronní iterace a generátory
Moduly
Úvod do modulů
Export a import
Dynamické importy
Různé
Třídy Proxy a Reflect
Chyba při načítání neexistující vlastnosti
Přístup k poli[-1]
Pozorovatelný objekt
Eval: spuštění řetězce kódu
Kalkulátor
Curryování
Referenční typ
Syntaktická kontrola
Vysvětlete hodnotu „this“
Typ BigInt
Unicode, vnitřní reprezentace řetězce
WeakRef a FinalizationRegistry
Prohlížeč: dokument, události, rozhraní
Dokument
Prostředí prohlížeče a jeho specifikace
DOM strom
Procházení DOMem
Děti DOMu
Otázka ohledně sourozenců
Vyberte všechny diagonální buňky
Hledání: getElement*, querySelector*
Hledání elementů
Vlastnosti uzlů: typ, značka a obsah
Spočítejte potomky
Co je v nodeType?
Značka v komentáři
Kde v hierarchii je „document“?
Atributy a vlastnosti
Načtěte atribut
Obarvěte externí odkazy oranžově
Modifikace dokumentu
createTextNode oproti innerHTML oproti textContent
Vyčistěte element
Proč tady zbude „aaa“?
Vytvořte seznam
Vytvořte strom z objektu
Zobrazte potomky ve stromě
Vytvořte kalendář
Barevné hodiny pomocí setInterval
Vložte HTML kód do seznamu
Seřaďte tabulku
Styly a třídy
Vytvořte oznámení
Velikost a rolování elementu
Jaká je velikost odrolování zdola?
Jaká je šířka posuvníku?
Umístěte míč doprostřed hřiště
Rozdíl: šířka v CSS oproti clientWidth
Velikost a rolování okna
Souřadnice
Najděte okenní souřadnice hřiště
Zobrazte poznámku poblíž elementu
Zobrazte poznámku poblíž elementu (absolutně)
Umístěte poznámku dovnitř (absolutně)
Úvod do událostí
Úvod do událostí prohlížeče
Schování po kliknutí
Schování sebe sama
Které handlery se spustí?
Přesuňte míč na hřišti
Vytvoření klouzavého menu
Přidejte uzavírací tlačítko
Kolotoč
Bublání a zachytávání
Delegování událostí
Skryjte zprávy pomocí delegování
Stromové menu
Řaditelná tabulka
Podpora tooltipu
Standardní akce prohlížeče
Proč nefunguje „return false“?
Zachytávejte odkazy v elementu
Obrázková galerie
Vyvolávání vlastních událostí
Události uživatelského rozhraní
Události myši
Vybírací seznam
Pohyb myší: mouseover/out, mouseenter/leave
Vylepšené chování tooltipu
„Chytrý“ tooltip
Přetahování pomocí událostí myši
Posuvník
Přetahujte superhrdiny po hřišti
Události ukazatele
Klávesnice: keydown a keyup
Rozšíření horkých kláves
Rolování
Nekonečná stránka
Tlačítko „na začátek“
Načtení viditelných obrázků
Formuláře a ovládací prvky
Vlastnosti a metody formulářů
Přidejte možnost volby
Fokus: focus/blur
Editovatelný div
Editace TD po kliknutí
Myš řízená klávesnicí
Události change, input, cut, copy, paste
Kalkulátor vkladů
Formuláře: událost a metoda submit
Modální formulář
Načítání dokumentu a zdrojů
Stránka: DOMContentLoaded, load, beforeunload, unload
Skripty: async, defer
Načítání zdrojů: onload a onerror
Načtení obrázků s callbackem
Různé
Pozorovatel změn
Výběr textu: třídy Selection a Range
Smyčka událostí: mikroúlohy a makroúlohy
Jaký výstup vydá tento kód?
Doplňující články
Rámy a okna
Vyskakovací okna a metody oken
Komunikace mezi okny
Útok clickjackingem
Binární data a soubory
ArrayBuffer, binární pole
Zřetězení typových polí
TextDecoder a TextEncoder
Blob
File a FileReader
Síťové požadavky
Fetch
Stáhněte uživatele z GitHubu
FormData
Fetch: průběh stahování
Fetch: zrušení stahování
Fetch: požadavky jiného původu
K čemu potřebujeme Origin?
API metody fetch
Objekty URL
XMLHttpRequest
Obnovitelné odesílání souboru
Dlouhé dotazování
WebSocket
Server Sent Events
Ukládání dat v prohlížeči
Cookies, document.cookie
Objekty localStorage, sessionStorage
Automatické uložení pole formuláře
IndexedDB
Animace
Bézierovy křivky
CSS animace
Animace letadla (CSS)
Animace letícího letadla (CSS)
Animovaný kruh
Animovaný kruh s callbackem
Animace v JavaScriptu
Animace skákajícího míče
Animace míče skákajícího doprava
Webové komponenty
Z oběžné dráhy
Vlastní elementy
Element živých hodin
Stínový DOM
Element šablony
Sloty a kompozice stínového DOMu
Nastavení stylů stínového DOMu
Stínový DOM a události
Regulární výrazy
Vzory a příznaky
Znakové třídy
Unicode: příznak „u“ a třída \p{...}
Kotvy: začátek řetězce ^ a konec řetězce $
Regulární výraz ^$
Víceřádkový režim kotev ^ $, příznak „m“
Hranice slov: \b
Najděte čas
Únikové a speciální znaky
Množiny a rozsahy [...]
Java[^script]
Najděte čas ve tvaru hh:mm nebo hh-mm
Kvantifikátory +, *, ? a {n}
Jak najít výpustku "..." ?
Regulární výraz pro HTML barvy
Hltavé a liknavé kvantifikátory
Shoda s /d+? d+?/
Najděte HTML komentáře
Najděte HTML značky
Zachytávací skupiny
Ověřte MAC adresu
Najděte barvu ve formátu #abc nebo #abcdef
Najděte všechna čísla
Parsujte výraz
Zpětné odkazy ve vzoru: \N a \k<jméno>
Alternace (NEBO) |
Najděte programovací jazyky
Najděte dvojice BB-značek
Najděte řetězce v uvozovkách
Najděte celou značku
Dopředné a zpětné nahlédnutí
Najděte nezáporná čísla
Vložení za hlavičku
Katastrofický zpětný průchod
Lepkavý příznak „y“, hledání na stanovené pozici
Metody tříd RegExp a String