GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

No menu could be recovered. Follow the blue links in the page.

This view

  • Original page
  • New address

GeezerVison is showing it.javascript.info — Il tutorial JavaScript moderno

Il linguaggio JavaScript

Impareremo JavaScript, iniziando dalle basi e passando a concetti avanzati come OOP.

Ci concentreremo principalmente sul linguaggio, con un minimo di annotazioni riguardo gli ambienti di sviluppo.

Introduzione
  • Introduzione a JavaScript
  • Manuali e Specifiche
  • Code editor
  • Developer console
Le basi JavaScript
  • Hello, world!
  • Struttura del codice
  • Le tecniche moderne, "use strict"
  • Variabili
  • Tipi di dato
  • Interazioni: alert, prompt, confirm
  • Conversione di tipi
  • Operatori di base
  • Confronti
  • Operatori condizionali: if, '?'
  • Operatori logici
  • Nullish coalescing operator '??'
  • Cicli: while e for
  • L'istruzione "switch"
  • Funzioni
  • Function expression
  • Arrow functions, le basi
  • Specialità di JavaScript
  • Di più…
Qualità del codice
  • Debugging in the browser
  • Stile di programmazione
  • Commenti
  • Codice ninja
  • Test automatici con Mocha
  • Polyfills e transpilers
Oggetti: le basi
  • Oggetti
  • Oggetti: riferimento e copia
  • Garbage collection ("Spazzatura")
  • Metodi degli oggetti,"this"
  • Costruttore, operatore "new"
  • Concatenamento opzionale '?.'
  • Il tipo Symbol
  • Conversione da oggetto a primitivi
Tipi di dato
  • Metodi dei tipi primitivi
  • Numeri
  • Stringhe
  • Array
  • Metodi per gli array
  • Iteratori
  • Map e Set
  • WeakMap e WeakSet
  • Object.keys, values, entries
  • Assegnamento di destrutturazione
  • Date e time
  • Metodi JSON, toJSON
  • Di più…
Gestione avanzata delle funzioni
  • Ricorsione e pila
  • Parametri resto e operatore di espansione
  • Variable scope, closure
  • Il vecchio "var"
  • Oggetto globale
  • Oggetto funzione, NFE
  • La sintassi "new Function"
  • Pianificazione: setTimeout e setInterval
  • *Decorators* e forwarding, call/apply
  • Function binding
  • Arrow functions rivisitate
  • Di più…
Configurazione delle proprietà dell'oggetto
  • Attributi e descrittori di proprietà
  • Proprietà getters e setters
Prototypes, inheritance
  • Prototypal inheritance
  • F.prototype
  • Native prototypes
  • Metodi di prototype, objects senza __proto__
Classi
  • Sintassi base delle classi
  • Ereditarietà delle classi
  • Proprietà e metodi statici
  • Proprietà e metodi privati e protetti
  • Estendere le classi built-in
  • Verifica delle classi: "instanceof"
  • Mixins
Gestione degli errori
  • Gestione degli errori, "try...catch"
  • Errori personalizzati, estendere la classe Error
Promises, async/await
  • Introduzione: callbacks
  • Promise
  • Concatenamento di promise (promise chaining)
  • Gestione degli errori con le promise
  • Promise API
  • Promisification
  • Microtasks
  • Async/await
Generators, iterazioni avanzate
  • I generatori
  • Iteratori e generatori asincroni
Moduli
  • Moduli, introduzione
  • Export e Import
  • Dynamic imports
Miscellaneous
  • Proxy e Reflect
  • Eval: eseguire una stringa di codice
  • Currying
  • Il tipo Reference
  • BigInt

Browser: Document, Eventi, Interfacce

Impareremo come gestire la pagina del browser: aggiungere elementi, manipolare dimensione e posizione, creare interfacce dinamiche e interagire con l’utente.

Document
  • Il Browser come ambiente, specifiche
  • Alberatura DOM
  • Percorrere il DOM
  • Ricerca: getElement*, querySelector*
  • Le proprietà del nodo: tipo, tag e contenuto
  • Attributi e proprietà
  • Modificare il documento
  • Stili e classi
  • Dimensioni dell'elemento e barra di scorrimento
  • Dimensioni e scorrimento della finestra del browser
  • Coordinate
  • Di più…
Introduzione agli Eventi
  • Introduzione agli eventi del browser
  • Bubbling e capturing
  • Event delegation
  • Azioni predefinite del browser
  • Dispatching di eventi personalizzati
Eventi UI
  • Eventi del mouse
  • Movimenti del mouse: mouseover/out, mouseenter/leave
  • Drag'n'Drop con gli eventi del mouse
  • Eventi del puntatore
  • Tastiera: keydown e keyup
  • Scrolling
Forms, controls
  • Proprietà dei form e metodi
  • Focusing: focus/blur
  • Eventi: change, input, cut, copy, paste
  • Form: eventi e metodi di submit
Document e caricamento delle risorse
  • Page: DOMContentLoaded, load, beforeunload, unload
  • Scripts: async, defer
  • Caricamento delle risorse: onload e onerror
Miscellaneous
  • Mutation observer
  • Selection e Range
  • Event loop: microtasks e macrotasks

Articoli aggiuntivi

Lista di argomenti extra, questi assumono che abbiate letto le prime due parti del tutorial. Non c'è alcun ordine gerarchico, quindi potrai leggere gli articoli in qualsisi ordine tu preferisca.
Frames and windows
  • Metodi di popups e window
  • Comunicazione cross-window
  • L'attacco clickjacking
Binary data, files
  • ArrayBuffer, array binari
  • TextDecoder e TextEncoder
  • Blob
  • File e FileReader
Network requests
  • Fetch
  • FormData
  • Fetch: Download progress
  • Fetch: Abort
  • Fetch: Cross-Origin Requests
  • API Fetch
  • URL objects
  • XMLHttpRequest
  • Upload del file ripristinabile
  • Long polling
  • WebSocket
  • Server Sent Events
  • Di più…
Memorizzare dati nel browser
  • Cookies, document.cookie
  • LocalStorage, sessionStorage
  • IndexedDB
Animazioni
  • Curve di Bezier
  • Animazioni CSS
  • Animazioni JavaScript
Web components
  • In alto, nell'orbita terrestre
  • Elementi personalizzati
  • Shadow DOM
  • Elemento Template
  • Shadow DOM slots, composition
  • Shadow DOM styling
  • Shadow DOM and events
Regular expressions
  • Pattern e flag
  • Classi di caratteri
  • Unicode: flag "u"
  • Inizio stringa ^ e fine $
  • Modo multilinea, flag "m"
  • Confine di parola: \b
  • Escaping, caratteri speciali
  • Insiemi e intervalli [...]
  • Quantificatori +, *, ? and {n}
  • Modalità greedy e lazy dei quantificatori
  • I gruppi di acquisizione (capturing group)
  • Riferimenti all'indietro (backreference) nei pattern: \N e \k<name>
  • Alternanza (OR) |
  • Lookahead e lookbehind
  • Backtracking catastrofico
  • Sticky flag "y", ricerca della posizione
  • Metodi di RegExp e String
  • Di più…
Condividi
Mappa del tutorial

Commenti

leggi questo prima di lasciare un commento…
  • Per qualsiasi suggerimento - per favore, apri una issue su GitHub o una pull request, piuttosto di lasciare un commento.
  • Se non riesci a comprendere quanto scitto nell'articolo – ti preghiamo di fornire una spiegazione chiara.
  • Per inserire delle righe di codice utilizza il tag <code>, per molte righe – includile nel tag <pre>, per più di 10 righe – utilizza una sandbox (plnkr, jsbin, codepen…)
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.