Tutorialul de bază JavaScript

Bazele

Introducere Pornirea JavaScript Primul program în JavaScript Analiza codului programului Exemple ulterioare Fișiere cu scripturi Mai multe fișiere Notă Cache-ul fișierelor Modul strict Comentarii Variabile Utilizarea variabilelor Declararea mai multor variabile Modificarea valorilor variabilelor Mai multe let pentru o singură variabilă Operații matematice cu numere Operații matematice cu variabile Prioritatea operațiilor matematice Prioritate egală Paranteze de grupare Fracții Numere negative Plus în fața variabilelor Restul împărțirii Ridicarea la putere Prioritatea ridicării la putere Șiruri de caractere Adunarea șirurilor de caractere Lungimea șirului de caractere Șiruri de șablon Multi-linia Valori speciale Valoarea undefined Valoarea null Valorile true și false Valoarea NaN Infinity și -Infinity Consolă Tipul de date în consolă Erori în consolă Constante Conversia automată a tipurilor Conversia la număr Conversia scurtă la număr Conversia numerelor incorecte Extragerea numerelor Conversia la șir de caractere Aplicarea conversiei la șir de caractere Conversia tipului logic Conversia la tipul logic Caracterele șirului Imuabilitatea șirurilor Ultimul caracter al șirului Șiruri cu cifre Accesarea cifrelor unui număr Operații pentru modificarea variabilei Operații prescurtate în JavaScript Incrementare Tipul prefix și postfix Calcule inexacte Funcția prompt Problema cu tipurile în prompt Afișarea în document Practică pentru găsirea erorilor Practică pe operații Practică pe formule

Array-uri

Introducere în array-uri Obținerea elementelor Lungimea array-ului Modificarea elementelor Rescrierea elementelor array-ului Incrementarea elementelor Adăugarea elementelor după chei Array-uri rare Adăugarea elementelor prin push Chei din variabile Operatorul delete Practică în găsirea greșelilor

Obiecte

Introducere în obiecte Afișarea întregului obiect Chei de obiecte ca șiruri de caractere Proprietățile obiectelor Restricții pentru cheile obiectelor Modificarea elementelor Adăugarea elementelor Neprodinuitatea obiectelor Tablou de chei ale obiectului Lungimea obiectului Chei din variabile Eroare la accesarea elementului Eroare la accesarea proprietății Proprietăți calculate Operatorul in Operatorul delete Tipizarea obiectelor Tabourile ca obiecte Deosebim tabourile de obiecte Obiecte și primitive Transmiterea obiectelor prin referință Constante Abordarea programării prin constante Practică pentru găsirea erorilor

Condiții

Construcția if-else Operatori mai mare și mai mic Verificarea egalității Verificarea inegalității Compararea variabilelor Egalitatea șirurilor de caractere Egalitatea șirurilor și numerelor Egalitate prin valoare și tip Inegalitate prin valoare și tip ȘI logic SAU logic Prioritatea operatorilor logici Gruparea condițiilor Inversarea expresiilor logice Condiții cu valori booleene Compararea valorilor cu tipul boolean Forma prescurtată de verificare a adevărului Forma prescurtată de verificare a falsului Forma prescurtată generală de verificare Condiții complexe în formă prescurtată Opționalitatea construcției else Opționalitatea acoladelor Problema opționalității parantezelor Construcția else if Construcții if-else imbricate Construcția switch-case Opționalitatea break Operatorul ternar Operații logice Funcția confirm Domeniul de vizibilitate Nuanțe ale domeniului de vizibilitate Verificarea părților orei Verificarea lungimii șirurilor și a array-urilor Verificarea caracterelor șirului Verificarea cifrelor numărului Verificarea restului împărțirii Practică pentru găsirea greșelilor Practică

Bucle

Introducere Bucla for-of Bucla for-in Bucla while Bucla for Bucla for pentru array-uri Condiții în bucle Acumularea sumei numerelor Acumularea sumei elementelor Formarea șirurilor de caractere Cifrele unui număr Caracterul opțional al acoladelor Problema caracterului opțional al acoladelor Instrucțiunea break Instrucțiunea continue Bucle imbricate Domeniul de vizibilitate Bucle imbricate și domeniul de vizibilitate Umplerea array-urilor Modificarea array-urilor Umplerea obiectelor Modificarea obiectelor Lucrul cu flag-uri Sfaturi pentru scrierea codului Sfaturi pentru depanarea codului Practică pentru găsirea erorilor Practică

Multidimensionalitate

Array-uri multidimensionale Array tridimensional Array-uri arbitrare Iterarea array-urilor multidimensionale Iterarea cu for obișnuit Umplerea array-urilor multidimensionale Probleme la umplerea array-urilor multidimensionale Umplerea array-urilor multidimensionale în ordine Obiecte multidimensionale Iterarea obiectelor multidimensionale Structuri multidimensionale Iterarea structurilor multidimensionale Array de obiecte Chei din variabile Adăugarea elementelor în array-uri Adăugarea elementelor în obiecte

Metode standard

Puteri Funcții de rotunjire Extreme Numere aleatorii Modul Majuscule și minuscule Extragerea subșirurilor Căutarea în șiruri Înlocuirea în șiruri Împărțirea șirurilor Elemente de la capete Părți ale tablourilor Extragerea din tablouri Căutarea în tablouri Cheile obiectelor Practică în găsirea erorilor

Funcții personalizate

Introducere Parametrii funcției Mai mulți parametri Parametrii-variabile Parametrii opționali Instrucțiunea return Apelarea secvențială a funcțiilor Nuanța subtilă a lui return Bucla și return Aplicarea lui return în bucle Metodă de lucru cu return Steaguri în funcții Operatori logici în funcții Sfaturi pentru funcții Practică pentru găsirea greșelilor Practică pentru funcții

Variabilele funcțiilor

Variabile globale Variabile locale Coincidența numelor de variabile Modificarea variabilelor globale Variabile globale și parametrii funcțiilor Coincidența numelor cu parametrii Parametrii-obiecte

Tipuri de funcții

Codul sursă al funcției și rezultatul Funcția ca variabilă Scrierea funcției într-o altă variabilă Atribuirea funcțiilor în variabile Coincidența numelui funcției și a variabilei Tipuri de declarații Diferența declarațiilor funcției Punct și virgulă la declararea funcțiilor Nuanțe ale expresiilor funcționale Funcție cu nume, dar Expression Function Expresii funcționale denumite Cum se verifică tipul unei funcții Expresia din stânga Expresia din dreapta Array cu funcții Obiect cu funcții Aplicarea obiectului cu funcții

Funcții imbricate

Transmiterea funcțiilor ca parametri Funcții denumite Parametrii funcțiilor transmise Transmiterea numărului ca parametru Aplicare Funcții interne Domeniul de vizibilitate al funcțiilor imbricate Parametrii funcției exterioare Parametrii funcțiilor exterioare și interioare Parametrii cu același nume Funcție care returnează o funcție Orice nivel de imbricare Parametrii funcției returnate Funcții callback Nuanțe ale callback-urilor Funcții săgeată Aplicarea funcțiilor săgeată sinc. cu traducerea

Închideri

Acces la variabilele exterioare Mediul lexical al funcțiilor Aplicarea mediului lexical Introducere în închideri Contor pe baza de închideri Nuanță variabilă locală Nuanță variabilă globală

IIFE

Apelarea funcției imediat Atribuirea funcției unei variabile Aplicarea apelării funcției imediat Paranteze rotunde Parametrii Apeluri multiple Capcane Punct și virgulă pentru siguranță Închideri și IIFE

Recursie

Introducere Exemplu cu parametru Suma elementelor array-ului cu recursie Structuri multidimensionale Suma elementelor array-ului Manipulări cu structuri

Metode de iterare

Metoda map Metoda forEach Metoda filter Metoda every Metoda some Metoda find traducere, probleme Metoda reduce traducere, probleme

Operatorul spread

Introducere Exemple mai complexe Valori extreme ale array-ului Unirea array-urilor Împărțirea șirurilor Împărțirea numerelor

Operatorul rest

Operatorul rest Suma cifrelor Matrice în bidimensional Matrice într-una singură

Destructurare

Destructurarea array-urilor Array din funcție Omiterea elementelor array-ului Valori excesive în array Restul array-ului Valori implicite pentru array-uri Funcții implicite pentru array-uri Declararea variabilelor pentru array-uri Destructurarea obiectelor Numele variabilelor pentru obiecte Valori implicite pentru obiecte Variabile și valori implicite pentru obiecte Declararea variabilelor pentru obiecte Parametrii funcțiilor Destructurarea obiectelor parametrilor funcțiilor

Timp

Lucrul cu obiectul Date Formatare Schimbarea formatului datei Obținerea zilei săptămânii Afișarea datei cu cuvinte Setarea orei Formatul timestamp Diferența dintre timestamp Diferența obiectelor cu date Corectarea automată a datelor Găsirea ultimei zile a lunii Determinarea anului bisect Verificarea corectitudinii Obținerea zilei din anul curent Ziua lunii următoare sau precedente Ziua anului următor sau precedent Diferența momentelor Momentul de timp al zilei Începutul zilei Sfârșitul zilei Verificarea ciclică a momentelor de timp Practică pentru obținerea momentelor de timp Compararea ca șir de caractere Compararea datei fără an Includerea datei într-un interval Compararea obiectelor cu dată

Introducere în DOM

Introducere Elemente DOM Obținerea elementelor DOM Selectoare complexe pentru elemente DOM Legarea handlerelor Handlere denumite Un handler pentru mai multe elemente Handlere pentru același eveniment Handlere pentru evenimente diferite Textul elementului Codul HTML al elementului Atributele tagurilor ca proprietăți Lucrul cu câmpuri text Focusul câmpurilor text Atribute-excepție Lanțuri de metode și proprietăți Avantaje și dezavantaje ale lanțurilor Obiectul this Avantajul this Obținerea unui grup de elemente Handlere denumite în buclă Handlere anonime în buclă Dezlegarea handlerelor de evenimente Dezlegarea handlerelor în buclă Dezlegarea handlerelor anonime Sfaturi pentru scrierea codului Practică pentru găsirea greșelilor Practic

Atribute

Metoda de obținere a atributelor Metoda de setare a atributelor Metoda de eliminare a atributelor Metoda de verificare a atributelor Atribute personalizate Nume de atribute cu cratime Accesarea atributelor prin metode Matrice de clase CSS Adăugarea claselor CSS Eliminarea claselor CSS Verificarea claselor CSS Comutarea claselor CSS

Stilizare

Stilizare prin atributul style Stilizarea proprietăților cu cratimă Excepție la stilizarea elementelor Stilizare prin clase CSS Avantajul stilizării cu clase CSS Aplicarea stilizării

Căutare

Găsirea descendenților elementelor Găsirea părinților elementelor Căutarea tuturor părinților elementelor Căutarea vecinilor elementelor Căutarea elementului după id Căutarea elementului după numele tag-ului Căutarea elementului după numele clasei Căutarea în interiorul elementului

Noduri

Introducere Parcurgerea nodurilor cu bucla Denumirea nodurilor Tipul nodurilor Textul nodurilor

Formulare

Lucrul cu textarea Blocarea elementelor Lucrul cu checkbox-uri Alternarea atributelor fără valori Lucrul cu butoanele radio Evenimentul change Evenimentul input Metodele focus și blur Practică în găsirea greșelilor

Liste drop-down

Lucrul cu liste drop-down Atributul value în liste drop-down Modificarea elementului selectat din listă Numărul elementului selectat din listă Obținerea elementelor listei drop-down Elementele ca array Lucrul cu elementele listei drop-down Selectarea elementului din listă Obținerea elementului selectat

Obiectul Event

Bazele lucrului cu obiectul Event Coordonatele evenimentului Tipul evenimentului Elementul evenimentului Obținerea tastelor apăsate Urmărirea tastelor-modificatoare Anularea acțiunii implicite Burbuirea evenimentelor Elementul țintă la burbuire Oprirea burbuirii evenimentelor Mai mulți manipulatoare pe element Oprirea imediată a burbuirii Aplicarea opririi burbuirii evenimentelor Scufundarea evenimentelor Manipulatoare pe elemente noi Delegarea evenimentelor Delegarea universală a evenimentelor

Context

Noțiuni de bază despre context Contextul unei funcții nelegate Pierderea contextului Rezolvarea problemei cu contextul Soluția prin variabilă Soluția prin parametru Soluția prin funcția săgeată Metoda call Metoda call cu parametri Metoda apply Metoda bind

Timeri

Pornirea unui timer Contor pe un timer Oprirea unui timer Butoane pentru pornire Pornire multiplă Butoane pentru oprire Lucrul cu DOM Timere și pierderea contextului Practică pe timere și DOM Întârziere înainte de execuție Timer prin întârziere

Manipularea elementelor

Crearea și inserarea elementelor Atasarea evenimentelor la inserare Crearea elementelor în buclă Atasarea handlerelor în buclă Eliminarea elementelor Inserare la margine Inserare înainte Inserare adiacentă Inserarea adiacentă a tagurilor Clonarea elementelor Verificarea elementelor

Exercițiu practic

Crearea elementelor dintr-un array Exercițiu practic pe crearea listelor ul Crearea tabelelor Umplerea consecutivă a tabelelor Crearea tabelului dintr-un array Crearea tabelului dintr-un array de obiecte Adăugarea rândurilor și coloanelor în tabel Modificarea celulelor tabelului Ștergerea elementelor noi Link pentru ștergerea elementului Crearea linkurilor pentru ștergere Editarea elementului individual Ascundem textul la editare Editarea în setul de elemente Ștergerea și editarea Stilizarea elementelor Butoane pentru ascunderea și afișarea elementului Multe elemente cu butoane de afișare Activarea elementelor Alternarea stilurilor de activare Exercițiu practic pe modificarea elementelor

Funcții și DOM

Funcții pentru lucrul cu elementul DOM Funcții pentru lucrul cu un grup de elemente Transmiterea unui callback pentru lucrul cu DOM Transmiterea numărului de ordine în callback Transmiterea elementului ca parametru al funcției Transmiterea grupului de elemente ca parametri Funcție pentru crearea tabelelor HTML Returnarea tabelului din funcție Funcție pentru crearea tabelului dintr-un array

Module prin închideri

Conflicte de variabile Module prin închideri Aplicație practică Transmiterea parametrilor Transmiterea elementului părinte Transmiterea setărilor modulului Parametri impliciți Exportul variabilelor și funcțiilor Exportul obiectului în modulele prin închideri Biblioteci prin închideri
ruuzlfr