ITALIAN

Javascript: Guida completa per lo sviluppatore

Book information

Publisher
Hoepli Editore
Year
2016
ISBN
9788820373412, 8820373416
Language
italian
Format
PDF
Filesize
4 MB (4449120 bytes)
Pages
509\500
Time added
2023-05-18 15:26:09

Description

JavaScript è il motore di quasi tutte le applicazioni web più moderne, dalle app social ai giochi per browser più all’avanguardia. Facile da usare, anche per i principianti, JavaScript è tuttavia un linguaggio flessibile e complesso, che consente di realizzare applicazioni davvero potenti. Questa guida completa a JavaScript scava nel profondo del linguaggio per mostrare come scrivere un codice elegante ed efficiente. L’autore vi guida fin dall’inizio con esempi, esercizi e interi capitoli su progetti specifici, facendovi fare esperienza sulla realizzazione di programmi completi. L’opera riflette lo stato attuale di JavaScript e dei browser web, ed è arricchita di nuovi materiali, come un capitolo dedicato al rendimento del codice in JavaScript e una descrizione dettagliata di concetti come la ricorsività e le chiusure. Tutti i sorgenti sono disponibili online in uno spazio protetto interattivo, dove è possibile modificare, eseguire e verificare istantaneamente i risultati del codice. Frontespizio Copyright Indice Introduzione La programmazione L’importanza del linguaggio Che cos’è JavaScript Il codice e le sue meraviglie Struttura del libro Convenzioni tipografiche PARTE I - LINGUAGGIO Capitolo 1. Valori, tipi e operatori Valori Numeri Aritmetica Numeri speciali Stringhe Operatori unari Valori booleani Comparazioni Operatori logici Valori indefiniti Conversione automatica dei tipi Il corto circuito degli operatori logici Riepilogo Capitolo 2. Struttura dei programmi Espressioni e dichiarazioni Variabili Parole chiave e parole riservate L’ambiente Funzioni La funzione console.log Valori restituiti Prompt e confirm Struttura di controllo Esecuzione condizionale Cicli while e do I rientri del codice Cicli for Uscire da un ciclo Aggiornamento rapido delle variabili Scelta di un valore con switch Capitalizzazione Commenti Riepilogo Esercizi Un ciclo per un triangolo FizzBuzz Scacchiera Capitolo 3. Funzioni Definire una funzione Parametri e ambiti di visibilità Ambiti di visibilità (scope) nidificati Funzioni come valori Notazione della dichiarazione Pila delle chiamate Argomenti facoltativi Chiusura Ricorsività Funzioni che crescono Funzioni ed effetti collaterali Riepilogo Esercizi Minimo Ricorsività Conteggi Capitolo 4. Strutture dati: oggetti e array Lo scoiattolo mannaro Insiemi di dati Proprietà Metodi Oggetti Mutabilità Il diario dello scoiattolo mannaro Calcolo delle correlazioni Gli oggetti come mappe Analisi finale Ancora a proposito di array Le stringhe e le loro proprietà L’oggetto arguments L’oggetto Math L’oggetto global Riepilogo Esercizi Somma di un intervallo Invertire l’ordine di un array Una lista Confronto profondo Capitolo 5. Funzioni di ordine superiore Astrazione Astrazioni per passare al setaccio gli array Funzioni di ordine superiore Passare gli argomenti JSON Filtrare gli array Trasformazioni con map Le somme con reduce Componibilità Il costo Bis-bis-bis-bis... Il metodo bind Riepilogo Esercizi Appiattire degli array Differenza di età tra madri e figli Speranza di vita storica Tutti e qualcuno Capitolo 6. La vita segreta degli oggetti Storia Metodi Prototipi Costruttori Prevalenza sulle proprietà derivate Interferenza dei prototipi Oggetti senza prototipo Polimorfismo Impostare una tabella Recuperare e impostare Ereditarietà L’operatore instanceof Riepilogo Esercizi Un tipo vettore Un’altra cella Interfaccia per sequenze Capitolo 7. Progetto: Vita elettronica Definizione Rappresentazione dello spazio L’interfaccia di programmazione delle creature L’oggetto World this e la sua visibilità Animare la vita Si muove Altre forme di vita Una simulazione più simile alla vita Metodi di gestione delle azioni Popolare il nuovo mondo Far vivere il mondo Esercizi Stupidità artificiale Predatori Capitolo 8. Bachi e gestione degli errori Errori di programmazione Modalità strict Prove di esecuzione Debugging Propagazione degli errori Eccezioni Ripulire dopo le eccezioni Catch selettivo Asserzioni Riepilogo Esercizi Riprova La scatola chiusa Capitolo 9. Espressioni regolari Impostare un’espressione regolare Prove di corrispondenza Trovare serie di caratteri Ripetere parte di una sequenza Raggruppare le sottoespressioni Corrispondenze e gruppi Il tipo data Confini di parola e di stringa Sequenze alternative La meccanica delle corrispondenze Backtracking Il metodo replace Operatori greedy Creare dinamicamente oggetti RegExp Il metodo search La proprietà lastIndex Passare in ciclo i risultati Analizzare un file INI Caratteri internazionali Riepilogo Esercizi Il golf Stile delle citazioni Ancora numeri Capitolo 10. Moduli Perché i moduli aiutano Lo spazio dei nomi Riutilizzo Sdoppiamento Le funzioni come spazi dei nomi Oggetti come interfacce Staccarsi dall’ambito globale Elaborare i dati come codice La funzione require Moduli lenti da caricare Progettazione delle interfacce Prevedibilità Componibilità Interfacce stratificate Riepilogo Esercizi Nomi dei mesi Ritorno alla vita elettronica Dipendenze circolari Capitolo 11. Progetto: Un linguaggio di programmazione L’analisi L’interprete Modelli speciali L’ambiente Funzioni Compilazione Imbrogli Esercizi Array Chiusura Commenti Sistemare l’ambito di visibilità PARTE II - IL BROWSER Capitolo 12. JavaScript e il browser Le reti e Internet Il Web HTML HTML e JavaScript Nell’ambiente di prova Compatibilità e guerre tra browser Capitolo 13. Il modello a oggetti del documento: DOM Struttura dei documenti Alberi Lo standard Spostarsi lungo l’albero Trovare gli elementi Modificare il documento Creare i nodi Attributi Layout Gli stili Stili a cascata Selettori di query Posizionamento e animazione Riepilogo Esercizi Costruire una tabella Elementi per nome di tag Il cappello del gatto Capitolo 14. Gestire gli eventi Gestori degli eventi Eventi e nodi del DOM Oggetti evento Propagazione Azioni predefinite Eventi per i tasti Clic del mouse Movimenti del mouse Eventi di scorrimento Eventi focus Eventi load Tempi di esecuzione degli script Impostare dei contatori Debouncing Riepilogo Esercizi La tastiera censurata La scia del mouse Schede Capitolo 15. Progetto: Un videogioco a piattaforme Il gioco La tecnologia Livelli Leggere un livello Gli attori Il fardello dell’incapsulazione Disegni Movimenti e collisioni Attori e azioni Seguire i tasti Eseguire il gioco Esercizi Game Over Interrompere il gioco Capitolo 16. Disegnare su un elemento canvas SVG L’elemento canvas Riempimento e spessore del bordo Il tracciato Curve Disegnare un grafico a torta Il testo Immagini Trasformazioni Memorizzare ed eliminare le trasformazioni Torniamo al gioco Scegliere un’interfaccia grafica Riepilogo Esercizi Forme geometriche Il grafico a torta Una palla che rimbalza Riflessioni precalcolate Capitolo 17. HTTP Il protocollo I browser e HTTP XMLHttpRequest Inviare una richiesta Richieste asincrone Recuperare i dati XML Protezioni sandbox in HTTP Astrazione delle richieste Promesse Il valore del protocollo HTTP La sicurezza e HTTPS Riepilogo Esercizi Negoziazione dei contenuti Aspettare più promesse Capitolo 18. Moduli e campi di moduli I campi Campi attivi Campi non abilitati Il modulo nel suo insieme Campi di testo Caselle di spunta e pulsanti di opzione Campi selezionabili Campi file Registrare i dati sul lato client Riepilogo Esercizi Un laboratorio per JavaScript Autocompletamento Il Gioco della vita di Conway Capitolo 19. Progetto: Un programma per dipingere Realizzazione Costruire la struttura DOM Le fondamenta Selezione degli strumenti Colore e dimensioni del pennello Salvare Caricare file di immagini Rifiniture Esercizi Rettangoli Tavolozza per i colori Secchiello e riempimento PARTE III - OLTRE Capitolo 20. Node.js Un po’ di storia Asincronicità Il comando node Moduli Installazione con NPM Il modulo filesystem Il modulo HTTP Flussi di dati Un semplice server di file Gestione degli errori Riepilogo Esercizi Ancora negoziazione dei contenuti Tappare una falla Creare directory Uno spazio pubblico sul Web Capitolo 21. Progetto: Un sito Web di skill-sharing Piano del progetto Modello di comunicazione long polling Interfaccia HTTP Il server Routing Servire i file Presentazioni come risorse Supporto per long polling Il client HTML Si parte Visualizzazione delle presentazioni Aggiornamenti del server Rilevamento delle modifiche Esercizi Persistenza su disco Reimpostare i campi per i commenti Modelli migliori Senza script Capitolo 22. JavaScript e prestazioni Compilazione per gradi Layout di un grafo Definizione di un grafo Una prima funzione di layout basata sulla forza Analisi dinamica del programma Funzioni in linea Ritorno ai cicli di vecchia memoria Evitare lavoro inutile Creare meno rifiuti La raccolta dei rifiuti Scrivere sugli oggetti Tipi dinamici Riepilogo Esercizi Trovare un percorso Misura del tempo Ottimizzare Suggerimenti per gli esercizi Struttura dei programmi Un ciclo per un triangolo FizzBuzz Scacchiera Funzioni Minimo Ricorsività Conteggi Strutture dati: oggetti e array La somma di un intervallo Invertire l’ordine di un array Liste Confronto profondo Funzioni di ordine superiore Differenza di età tra madri e figli Speranza di vita storica Tutti e qualcuno La vita segreta degli oggetti Un tipo vettore Un’altra cella Interfacce per sequenze Progetto: vita elettronica Stupidità artificiale Predatori Bachi e gestione degli errori Riprova La scatola chiusa Espressioni regolari Stile delle citazioni Ancora numeri Moduli Nomi dei mesi Ritorno alla vita elettronica Dipendenze circolari Progetto: un linguaggio di programmazione Array Chiusura Commenti Sistemare l’ambito di visibilità Il modello a oggetti del documento: DOM Costruire una tabella Elementi per nome di tag Gestire gli eventi La tastiera censurata La scia del mouse Schede Progetto: un videogioco a piattaforme Game Over Interrompere il gioco Disegnare su un foglio Forme geometriche Il grafico a torta Una palla che rimbalza Riflessioni precalcolate HTTP Negoziazione dei contenuti Aspettare più promesse Moduli e relativi campi Un laboratorio per JavaScript Autocompletamento Il Gioco della vita di Conway Progetto: Un programma per dipingere Rettangoli Tavolozza per i colori Secchiello e riempimento Node.js Ancora negoziazione dei contenuti Tappare una falla Creare directory Uno spazio pubblico sul Web Progetto: Un sito Web di skill-sharing Persistenza su disco Reimpostare i campi per i commenti Modelli migliori Senza script JavaScript e prestazioni Trovare un percorso Ottimizzare Indice analitico Circa l’autore Informazioni sul Libro

Similar books