Tutorial Principale di JavaScript
Basi
Introduzione
Eseguire JavaScript
Primo programma in JavaScript
Analisi del codice del programma
Esempi successivi
File con script
File multipli
Nota
Cache dei file
Modalità strict
Commenti
Variabili
Utilizzo delle variabili
Dichiarazione di più variabili
Modifica dei valori delle variabili
Più let per una variabile
Operazioni matematiche con i numeri
Operazioni matematiche con le variabili
Priorità delle operazioni matematiche
Priorità uguale
Parentesi raggruppanti
Frazioni
Numeri negativi
Più prima delle variabili
Resto della divisione
Elevamento a potenza
Priorità dell'elevamento a potenza
Stringhe
Concatenazione di stringhe
Lunghezza della stringa
Stringhe template
Multiriga
Valori speciali
Valore undefined
Valore null
Valori true e false
Valore NaN
Infinity e -Infinity
Console
Tipo di dati nella console
Errori nella console
Costanti
Conversione automatica dei tipi
Conversione a numero
Conversione breve a numero
Conversione di numeri non corretti
Estrazione di numeri
Conversione a stringa
Applicazione della conversione a stringa
Conversione del tipo logico
Conversione al tipo logico
Caratteri della stringa
Immutabilità delle stringhe
Ultimo carattere della stringa
Stringhe con cifre
Accesso alle cifre di un numero
Operazioni per modificare una variabile
Operazioni abbreviate in JavaScript
Incremento
Tipo prefisso e postfisso
Calcoli imprecisi
Funzione prompt
Problema con i tipi in prompt
Output nel documento
Pratica sulla ricerca degli errori
Pratica sulle operazioni
Pratica sulle formule
Array
Introduzione agli array
Ottenere gli elementi
Lunghezza dell'array
Modificare gli elementi
Riscrivere gli elementi dell'array
Incrementare gli elementi
Aggiungere elementi tramite chiavi
Array sparsi
Aggiungere elementi tramite push
Chiavi da variabili
Operatore delete
Pratica nella ricerca degli errori
Oggetti
Introduzione agli oggetti
Visualizzazione dell'intero oggetto
Chiavi stringa degli oggetti
Proprietà degli oggetti
Restrizioni sulle chiavi degli oggetti
Modifica degli elementi
Aggiunta di elementi
Disordinamento degli oggetti
Array delle chiavi dell'oggetto
Lunghezza dell'oggetto
Chiavi da variabili
Errore di accesso all'elemento
Errore di accesso alla proprietà
Proprietà calcolate
Operatore in
Operatore delete
Tipizzazione degli oggetti
Array come oggetti
Distinguere gli array dagli oggetti
Oggetti e primitivi
Passaggio di oggetti per riferimento
Costanti
Approccio di programmazione attraverso le costanti
Pratica sulla ricerca degli errori
Condizioni
Costrutto if-else
Operatori maggiore e minore
Controllo di uguaglianza
Controllo di disuguaglianza
Confronto di variabili
Uguaglianza di stringhe
Uguaglianza di stringhe e numeri
Uguaglianza per valore e tipo
Disuguaglianza per valore e tipo
AND logico
OR logico
Priorità degli operatori logici
Raggruppamento di condizioni
Inversione di espressioni logiche
Condizioni con valori booleani
Confronto di valori con tipo booleano
Forma abbreviata di controllo per vero
Forma abbreviata di controllo per falso
Forma abbreviata generale di controllo
Condizioni complesse in forma abbreviata
Opzionalità del costrutto else
Opzionalità delle parentesi graffe
Problema dell'opzionalità delle parentesi
Costrutto else if
Costrutti if-else annidati
Costrutto switch-case
Opzionalità di break
Operatore ternario
Operazioni logiche
Funzione confirm
Ambito di visibilità
Sfumature dell'ambito di visibilità
Controllo delle parti dell'ora
Controllo della lunghezza di stringhe e array
Controllo dei caratteri della stringa
Controllo delle cifre del numero
Controllo del resto della divisione
Pratica sulla ricerca degli errori
Pratica
Cicli
Introduzione
Ciclo for-of
Ciclo for-in
Ciclo while
Ciclo for
Ciclo for per array
Condizioni nei cicli
Accumulo della somma di numeri
Accumulo della somma degli elementi
Formazione di stringhe
Cifre di un numero
Opzionalità delle parentesi graffe
Problema dell'opzionalità delle parentesi
Istruzione break
Istruzione continue
Cicli annidati
Scope
Cicli annidati e scope
Riempimento di array
Modifica di array
Riempimento di oggetti
Modifica di oggetti
Lavorare con i flag
Suggerimenti per scrivere codice
Suggerimenti per il debug del codice
Pratica per trovare errori
Pratica
Multidimensionalità
Array multidimensionali
Array tridimensionale
Array arbitrari
Iterazione di array multidimensionali
Iterazione con il for normale
Riempimento di array multidimensionali
Problemi nel riempimento di array multidimensionali
Riempimento di array multidimensionali in ordine
Oggetti multidimensionali
Iterazione di oggetti multidimensionali
Strutture multidimensionali
Iterazione di strutture multidimensionali
Array di oggetti
Chiavi da variabili
Aggiunta di elementi negli array
Aggiunta di elementi negli oggetti
Metodi standard
Potenze
Funzioni di arrotondamento
Estremi
Random
Moduli
Maiuscole/minuscole
Taglio di stringhe
Ricerca nelle stringhe
Sostituzione nelle stringhe
Divisione di stringhe
Elementi terminali
Parti di array
Taglio di array
Ricerca negli array
Chiavi degli oggetti
Pratica sulla ricerca degli errori
Funzioni personalizzate
Introduzione
Parametri della funzione
Parametri multipli
Parametri-variabili
Parametri opzionali
Istruzione return
Chiamata sequenziale di funzioni
Sfumatura di return
Ciclo e return
Applicazione di return nei cicli
Tecnica di lavoro con return
Flag nelle funzioni
Operatori logici nelle funzioni
Consigli sulle funzioni
Pratica sulla ricerca di errori
Pratica sulle funzioni
Variabili delle funzioni
Variabili globali
Variabili locali
Coincidenza di nomi di variabili
Modifica di variabili globali
Variabili globali e parametri delle funzioni
Coincidenza di nomi con i parametri
Parametri-oggetti
Tipi di funzioni
Codice sorgente della funzione e risultato
Funzione come variabile
Scrittura di una funzione in un'altra variabile
Assegnazione di funzioni a variabili
Coincidenza del nome della funzione e della variabile
Tipi di dichiarazioni
Differenza delle dichiarazioni di funzione
Punto e virgola nella dichiarazione di funzioni
Sfumature delle espressioni funzionali
Funzione con nome, ma Expression Function
Espressioni funzionali denominate
Come verificare il tipo di funzione
Espressione a sinistra
Espressione a destra
Array con funzioni
Oggetto con funzioni
Applicazione di un oggetto con funzioni
Funzioni Annidate
Passaggio di funzioni come parametri
Funzioni denominate
Parametri delle funzioni passate
Passaggio di numeri come parametro
Applicazione
Funzioni interne
Scope delle funzioni annidate
Parametri della funzione esterna
Parametri delle funzioni esterne e interne
Parametri con lo stesso nome
Funzione che restituisce una funzione
Qualsiasi livello di annidamento
Parametri della funzione restituita
Funzioni di callback
Sfumature dei callback
Funzioni freccia
Applicazione delle funzioni freccia
sinc. con traduzione
Chiusure
Accesso alle variabili esterne
Ambiente lessicale delle funzioni
Applicazione dell'ambiente lessicale
Introduzione alle chiusure
Contatore con chiusure
Sfumatura variabile locale
Sfumatura variabile globale
IIFE
Invocazione di Funzione Immediata
Assegnazione della funzione a una variabile
Applicazione dell'invocazione di funzione immediata
Parentesi tonde
Parametri
Chiamate multiple
Insidie
Punto e virgola di sicurezza
Chiusure e IIFE
Ricorsione
Introduzione
Esempio con parametro
Somma degli elementi di un array con ricorsione
Strutture multidimensionali
Somma degli elementi di un array
Manipolazioni di strutture
Metodi di iterazione
Metodo map
Metodo forEach
Metodo filter
Metodo every
Metodo some
Metodo find
traduzione, problemi
Metodo reduce
traduzione, problemi
Operatore spread
Introduzione
Esempi più complessi
Valori estremi dell'array
Unione di array
Divisione di stringhe
Divisione di numeri
Operatore spread e multidimensionalità
todo
Operatore rest
Destrutturazione
Destrutturazione di array
Array da una funzione
Salto di elementi dell'array
Valori in eccesso nell'array
Resto dell'array
Valori predefiniti per gli array
Funzioni predefinite per gli array
Dichiarazione di variabili per gli array
Destrutturazione di oggetti
Nomi delle variabili per gli oggetti
Valori predefiniti per gli oggetti
Variabili e valori predefiniti per gli oggetti
Dichiarazione di variabili per gli oggetti
Parametri delle funzioni
Destrutturazione degli oggetti parametri delle funzioni
Scambio di valori
testo
Multidimensionalità
todo
Tempo
Lavorare con l'oggetto Date
Formattazione
Cambiare il formato della data
Ottenere il giorno della settimana
Output della data in parole
Impostare l'ora
Formato timestamp
Differenza tra timestamp
Differenza tra oggetti con date
Correzione automatica delle date
Trovare l'ultimo giorno del mese
Determinare l'anno bisestile
Verifica della correttezza
Ottenere il giorno dell'anno corrente
Giorno del mese successivo o precedente
Giorno dell'anno successivo o precedente
Differenza tra momenti
Momento della giornata
Inizio del giorno
Fine del giorno
Controllo ciclico dei momenti temporali
Pratica sull'ottenimento di momenti temporali
Confronto tra stringhe
Confronto della data senza l'anno
Appartenenza di una data a un intervallo
Confronto di oggetti con data
Introduzione al DOM
Introduzione
Elementi DOM
Ottenere elementi DOM
Selettori complessi per elementi DOM
Associazione dei gestori
Gestori nominati
Un gestore per più elementi
Gestori per un singolo evento
Gestori per eventi diversi
Testo dell'elemento
Codice HTML dell'elemento
Attributi dei tag come proprietà
Lavorare con i campi di testo
Focus dei campi di testo
Attributi-eccezione
Catene di metodi e proprietà
Vantaggi e svantaggi delle catene
Oggetto this
Vantaggio di this
Ottenere un gruppo di elementi
Gestori nominati in un ciclo
Gestori anonimi in un ciclo
Rimozione dei gestori di eventi
Rimozione dei gestori in un ciclo
Rimozione dei gestori anonimi
Suggerimenti per scrivere codice
Pratica per trovare errori
Practicum
Attributi
Metodo per ottenere gli attributi
Metodo per impostare gli attributi
Metodo per rimuovere gli attributi
Metodo per verificare gli attributi
Attributi personalizzati
Nomi degli attributi con trattini
Accesso agli attributi tramite metodi
Array delle classi CSS
Aggiunta di classi CSS
Rimozione di classi CSS
Verifica delle classi CSS
Toggle delle classi CSS
Stilizzazione
Stilizzazione tramite l'attributo style
Stilizzazione delle proprietà con trattino
Eccezione nella stilizzazione degli elementi
Stilizzazione tramite classi CSS
Vantaggio della stilizzazione con le classi CSS
Applicazione della stilizzazione
Ricerca
Trovare i discendenti degli elementi
Trovare i genitori degli elementi
Ricerca di tutti i genitori degli elementi
Ricerca degli elementi adiacenti
Ricerca di un elemento per id
Ricerca di un elemento per nome del tag
Ricerca di un elemento per nome della classe
Ricerca all'interno di un elemento
Nodi
Forme
Lavorare con textarea
Disabilitare gli elementi
Lavorare con le checkbox
Alternare attributi senza valori
Lavorare con i pulsanti radio
Evento change
Evento input
Metodi focus e blur
Pratica per trovare errori
Menu a tendina
Lavorare con i menu a tendina
Attributo value nei menu a tendina
Modifica della voce selezionata nel menu
Numero della voce selezionata nel menu
Ottenere le voci di un menu a tendina
Voci come array
Lavorare con le voci di un menu a tendina
Selezione di una voce del menu
Ottenere la voce selezionata
Oggetto Event
Fondamenti di lavoro con l'oggetto Event
Coordinate dell'evento
Tipo di evento
Elemento dell'evento
Ottenere i tasti premuti
Monitoraggio dei tasti modificatori
Annullamento dell'azione predefinita
Bubbling degli eventi
Elemento target durante il bubbling
Arresto del bubbling degli eventi
Multipli gestori su un elemento
Arresto immediato del bubbling
Applicazione dell'arresto del bubbling degli eventi
Capturing degli eventi
Gestori su nuovi elementi
Delega degli eventi
Delega universale degli eventi
Contesto
Basi del lavoro con il contesto
Contesto di una funzione non vincolata
Perdita del contesto
Risoluzione del problema del contesto
Soluzione tramite variabile
Soluzione tramite parametro
Soluzione tramite funzione freccia
Metodo call
Metodo call con parametri
Metodo apply
Metodo bind
Timer
Avvio del timer
Contatore sul timer
Arresto del timer
Pulsanti di avvio
Avvio multiplo
Pulsanti di arresto
Lavorare con il DOM
Timer e perdita del contesto
Pratica su timer e DOM
Ritardo prima dell'esecuzione
Timer con ritardo
Manipolazione degli elementi
Creazione e inserimento di elementi
Associazione di eventi durante l'inserimento
Creazione di elementi in ciclo
Associazione di gestori in ciclo
Rimozione di elementi
Inserimento al bordo
Inserimento prima
Inserimento adiacente
Inserimento adiacente di tag
Clonazione di elementi
Controllo degli elementi
Pratica
Creazione di elementi da un array
Pratica sulla creazione di liste ul
Creazione di tabelle
Riempimento sequenziale di tabelle
Creazione di una tabella da un array
Creazione di una tabella da un array di oggetti
Aggiunta di righe e colonne a una tabella
Modifica delle celle della tabella
Rimozione di nuovi elementi
Link per rimuovere un elemento
Creazione di link di rimozione
Modifica di un singolo elemento
Nascondere il testo durante la modifica
Modifica in un gruppo di elementi
Rimozione e modifica
Stylizzazione degli elementi
Pulsanti per nascondere e mostrare un elemento
Molti elementi con pulsanti di visualizzazione
Attivazione degli elementi
Alternanza di stili di attivazione
Pratica sulla modifica degli elementi
Funzioni e DOM
Funzioni per lavorare con un elemento DOM
Funzioni per lavorare con un gruppo di elementi
Passaggio di callback per lavorare con il DOM
Passaggio del numero ordinale nel callback
Passaggio di un elemento come parametro della funzione
Passaggio di un gruppo di elementi come parametri
Funzione per creare tabelle HTML
Restituzione di una tabella da una funzione
Funzione per creare una tabella da un array