45
Introduzione a JavaScript

Intro to JavaScript

Embed Size (px)

Citation preview

Page 1: Intro to JavaScript

Introduzione a JavaScript

Page 2: Intro to JavaScript

Disclaimer

In questa presentazioni ci sono informazioniparziali, JavaScript è molto di più di ciò chesi legge in queste slides.L’intenzione è di “capire” di cosa stiamoparlando, senza essere dogmatici.

Page 3: Intro to JavaScript

• Non ha a che fare con Java• Sviluppato inizialmente nel 1995• Ora sviluppato dall’ente ECMA• Super diffuso (é in tutti i browser e oltre)• Ne esistono varie versioni, stiamo iniziando

ad usare la versione 6.(ES6 o ECMAScript 2015)

Qualche informazione di base

Page 4: Intro to JavaScript

• Modificare le pagine.• Creare nuovi elementi.• Gestire interazioni complesse.• Chiamare servizi esterni.• Aggiornare porzioni di pagina.• E molto altro…

Per cosa si usa JavaScript?

Page 5: Intro to JavaScript

• Server (node.js)• Database• Applicazioni

(tradotte al volo in HTML)• Arduino, Raspberry (node.js)

Altri usi di JavaScript

Page 6: Intro to JavaScript

Getting started

I file JavaScript vengono richiamati con un tag specifico

Page 7: Intro to JavaScript

JavaScript Engine

• Ogni browser interpreta JS• Diversi engine per interpretare JS:

Chrome ha V8 Firefox ha SpiderMonkeyEdge ha ChakraCore

• Operazioni svolte a velocità diverse• Browser più vecchi hanno bisogno di

istruzioni specifiche.

Page 8: Intro to JavaScript

jQuery

• jQuery é una “libreria” JS• jQuery fornisce un linguaggio unico più

semplice e compatibile con browser vecchi• Comodo per chi già conosce CSS.• jQuery viene “tradotto” in (vanilla) JS• jQuery é piú lento di JS e pesa

80/100 Kb

Page 9: Intro to JavaScript

You might not need jQuery…

youmightnotneedjquery.com

Page 10: Intro to JavaScript

Parliamo del DOM

Page 11: Intro to JavaScript

DOM

Document Object Model

Page 12: Intro to JavaScript

DOM

Quando una pagina viene caricata da un browser, questo costruisce una sorta di “mappa” della paginain cui ogni “nodo” é modificabile

da JavaScript 

Page 13: Intro to JavaScript

DOM

Page 14: Intro to JavaScript

DOM?

• Il DOM si compone di nodi e oggetti• Il DOM non é JavaScript• JavaScript usa il DOM per sapere come é

fatta la pagina• JavaScript accede al DOM per modificarlo,

copiarlo, estenderlo

Page 15: Intro to JavaScript

Selezionare elementi del DOM

Page 16: Intro to JavaScript

Console.log()

Utilizzeremo console.log per stamparedei valori nella console del browser

Page 17: Intro to JavaScript

Variabili

Le variabili sono utilizzate per tenere inmemoria dei valori.

Per esempio:

Page 18: Intro to JavaScript

Tipi di Valori

• Numeri ( 1, 5, 0, -10, etc )• Stringhe ( “Una stringa” )• Boolean ( true, false )

Page 19: Intro to JavaScript

Operazioni di comparazione

Per comparare due valori, si usano questi operatori, e il risultato è “vero” o “falso”:

• 5 > 3 // maggiore di• 5 < 6 // minore di• 5 <= 10 // minore o uguale• 4 >= 10 // maggiore o uguale• “ale” == “ale” // uguale a• “ale” != “ale” // diverse da

Page 20: Intro to JavaScript

Operazioni di comparazione

Quando si comparano valori si ha comerisultato un valore booleano, true o false.

• console.log( 5 > 3 )• console.log( “this” != “that” )• console.log( true == false )

Page 21: Intro to JavaScript

Funzioni

Una funzione è un insieme di istruzioni,raggruppate con un nome comune.

Page 22: Intro to JavaScript

Funzioni - Returning Values

Quando una funzione produce un valore,si dice che “ritorna” un valore. Un valore vieneritornato usando “return”.

Page 23: Intro to JavaScript

Funzioni - Argomenti

E’ possibile passare uno o più valori (argomenti)ad una funzione per fare in modo che vengano utilizzati all’interno della funzione.

Page 24: Intro to JavaScript

If … else

Utilizzando una sintassi if … else possiamofare in modo che il programma scelga duestrade a seconda di alcune condizioni

Page 25: Intro to JavaScript

While Loop

Page 26: Intro to JavaScript

For Loop

Page 27: Intro to JavaScript

Function Scopes

L’ambito in cui sono disponibili le variabili è relativo alla funzione dentro cui vengono create.Una variabile creata all’interno di una funzionenon sarà disponibile all’esterno.

Page 28: Intro to JavaScript

Variabili Globali

Se tutte le variabili fossero condivise da tuttoil programma, si avrebbe con facilità un problema di conflitto di variabili in programmianche non troppo complessi.

Le variabili condivise in tutto il programmasono chiamate globali

Page 29: Intro to JavaScript

Variabili Globali e Locali

Page 30: Intro to JavaScript

Unicità delle variabili locali

Le variabili create all’interno di una funzione,“vivono” al suo interno e vengono createogni volta che la funzione viene chiamata.Ognuna di queste variabili viene detta “istanza”.

Avranno lo stesso nome, ma in realtà avrannodegli identificativi diversi.

Page 31: Intro to JavaScript

Funzioni come valori

Le funzioni possono essere “passate” in giroper il nostro programma come se fosserovalori.

Page 32: Intro to JavaScript

Ritornare Funzioni

Le funzioni possono anche essere “ritornate”all’interno di altre funzioni.

Page 33: Intro to JavaScript

Array e Oggetti

Mentre numeri, booleani e stringhe sonocome dei Lego, abbiamo strutture piùcomplesse (data structures) che ci aiutano acostruire cose più complesse.

Page 34: Intro to JavaScript

Array

Nota: il primo numero di un array è 0, non 1!

Page 35: Intro to JavaScript

Metodi per Array

Ci sono vari metodi (che sono delle funzioni)che possono essere usati con gli array senzache vengano programmati:

Page 36: Intro to JavaScript

Oggetti

Gli oggetti sono delle strutture più complesserispetto agli array, e sono utilizzabili con il“chaining” (il punto).

Page 37: Intro to JavaScript

Oggetti

Usando il chaining possiamo aggiungere elementi a un oggetto…

Page 38: Intro to JavaScript

Oggetti

E possiamo rimuoverli con delete.

Page 39: Intro to JavaScript

Eventi

Gli eventi sono interazioni che avvengonocon gli elementi HTML:

Click, hover, tap, swipe, scroll, keypress,submit, load… soon tutti event a cut possiamocollegare del codice da eseguire.

Page 40: Intro to JavaScript

Eventi

Per semplicità, andremo ad utilizzarejQuery, che semplifica di molto l’uso degli eventi.

https://api.jquery.com/category/events/

Page 41: Intro to JavaScript

jQuery - selezionare elementi

Quando vogliamo andare a selezionare unelemento per poi modificarlo o eseguire delleazioni, lo andiamo a prendere in questo modo:

Page 42: Intro to JavaScript

jQuery - chaining

Una volta selezionato un elemento, possiamomanipolarlo attraverso il chaining.

Page 43: Intro to JavaScript

jQuery - Eventi

Una volta selezionato un elemento, possiamoeseguire delle funzioni quando avviene un evento

Page 44: Intro to JavaScript

jQuery API

jQuery offre tantissime possibilità pronte da usare.

Sul sito di jQuery tutto è ben documentato.

https://api.jquery.com/