Programmazione web lato client con JavaScript. Marco Camurri 1

Похожие документы
VBA Principali Comandi

Individuazione di sottoproblemi

Programmazione in Java (I modulo)

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

Programmazione in Python. Moreno Marzolla

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi:

Algoritmi e basi del C Struttura di un programma

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Caratteristiche di un linguaggio ad alto livello

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

Lettura da tastiera e scrittura su monitor

JS e HTML, librerie e codice JavaScript esterno

Struttura dei programmi C

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Istruzioni iterative (o cicliche)

UD 3.2b: Programmazione in Pascal (1)

Javascript e CSS nelle pagine WEB

Richiesta pagina PHP (es: index.php)

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Istituto Tecnico Industriale M. M. Milano Polistena. Classe III D a.s. 2015/2016 C++ Guida Base

CORSO ACCESS PARTE IV

5. Codifica degli Algoritmi in C

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

L intero è o il valore zero o una stringa di cifre che inizia con una cifra diversa sa zero.

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

Strutture di Controllo

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Lezione 10. L arte della programmazione

D B M G Il linguaggio HTML

Matlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1

Laboratorio Informatica

Linguaggi di Programmazione

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Laboratorio con DERIVE

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Indice. Prefazione. 3 Oggetti e Java 53

28/02/2014 Copyright V. Moriggia

3. Le routine evento in Access 2000/2003

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Problema: calcolare il massimo tra K numeri

Il linguaggio Python

La programmazione nel linguaggio C

1 JavaScript: generalità

Espressione composta da: Operatori Operandi (costanti, variabili, )

MICROSOFT EXCEL FORMULE E FUNZIONI

Istruzioni Condizionali in C

LINGUAGGI DI PROGRAMMAZIONE!

Espressioni ed operatori in C

Cookie e Webstorage. Vediamo ora i metodi dell oggetto localstorage. Per memorizzare un valore si utilizza il metodo setitem:

SISTEMI OPERATIVI, RETI, INTERNET

Modulo 2: Strutture fondamentali della programmazione Java

Input/Output di numeri

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Fortran in pillole : prima parte

Formule e funzioni. Manuale d uso

Транскрипт:

Programmazione web lato client con JavaScript Marco Camurri 1

JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E' Java Codice inserito direttamente nella pagina HTML o in file collegati ( estensione.js ) E' un linguaggio INTERPRETATO : il browser intepreta ed esegue il codice presente nella pagina ( se abilitato... ) E' un linguaggio di programmazione web LATO CLIENT ( al contrario di PHP, che è un esempio di linguaggio LATO SERVER ) Marco Camurri 2

Pagina HTML dinamica con JavaScript apri esempio <html> <body> <img id="lampada" onclick="cambiaimmagine()" src="spenta.gif" > <script> function cambiaimmagine() { var imm = document.getelementbyid('lampada'); if ( imm.src.match("accesa.gif") ) { imm.src = "spenta.gif"; } else { imm.src = "accesa.gif"; } } </script> </body> </html> JavaScript può modificare gli attributi degli elementi HTML a seguito di eventi (es. click) Marco Camurri 3

Un esempio per iniziare <html> <head> </head> <body> <h1> PRIMO ESEMPIO </h1> <button onclick="saluta( )" > CLICCA QUI </button> <script> function saluta() { alert( " ciao! " ); } </script> </body> </html> apri esempio Marco Camurri 4

JavaScript esterno alla pagina E' possibile collocare il codice JavaScript in un file esterno: <html> <head> <script src="miofile.js" /> </head> <body> <h1> PRIMO ESEMPIO </h1> <button onclick="saluta( )" > CLICCA QUI </button> </body> </html> miofile.html function saluta() { alert( " ciao! " ); }... function controlla() {... } function somma(x,y) {... }... miofile.js Marco Camurri 5

Librerie JavaScript (Frameworks) Lo script JavaScript esterno pò trovarsi anche su un altro server sul web Esistono diverse librerie JavaScript (frameworks): insiemi di funzioni già scritte che semplificano la creazione di applicazioni complesse Marco Camurri 6

Ora sappiamo che... il codice JS va inserito fra i tag <script> e </script> ( all'interno di head o body, ma è buona regola inserirlo SEMPRE alla fine di body per velocizzare il caricamento della pagina ) il codice JS può essere organizzato in funzioni parola chiave function nomefunz( nomepar1, nomepar2,... ) { // codice della funzione } la funzione può essere associata ad un evento: <button onclick="nomefunz()" > clicca qui </button> NON SCORDARE LE PARENTESI! Marco Camurri 7

Uso di variabili e commenti <html><body> <script> var x,y,z; x = 5; y = 6.5; z = x + y; alert( z ); Apri esempio le variabili si dichiarano facendo precedere il nome della variabile dalla parola chiave var In JS non si specifica il TIPO delle variabili! In C avremmo dovuto scrivere: int x,y,z; oppure float x,y,z; oppure... x = "mela"; y = 'pera' ; alert( x + y ); // alert( "fine" ); </script> </body> </html> le stringhe vanno racchiuse tra apici doppi o singoli (indifferente) il + tra stringhe effettua la concatenazione. Prova anche: alert( x + " " + y); l'istruzione alert non è eseguita poichè è all'interno di un commento. Per commenti su più righe: /*...... */ Marco Camurri 8

Tipi di dato in JavaScript number string boolean object x = 5; x = " ciao "; x = 4.5; x = true; A differenza di linguaggi come il C, in JavaScript la stessa variabile può contenere prima un numero, poi una stringa, poi un boolean, ecc... il tipo di dato non è legato alla variabile, ma al valore della variabile in un dato istante. così il programmatore non deve preoccuparsi troppo del tipo dei dati... MA... Marco Camurri 9

Tipi di dato (segue)... MA ATTENZIONE: il tipo di dato determina il modo in cui alcune operazioni sono effettuate! apri esempio var x = 5; var y = 6; alert(x+y); mostra: 11 var x = "5"; var y = "6"; alert(x+y); mostra: 56 var x = "5"; var y = 6; alert(x+y); mostra: 56 var x = "5"; var y = 5; if ( x == y ) alert( "vero" ); else alert( "falso" ); VERO! la "somma" tra una stringa e un numero viene interpretata come concatenazione tra stringhe. NOTA: esiste anche l'operatore === che in questo caso avrebbe restituito "falso" Marco Camurri 10

Confronto alfabetico e numerico var x = 100; var y = 2; if ( x < y ) alert( "vero" ); else alert( "falso" ); var x = "100"; var y = "2"; if ( x < y ) alert( "vero" ); else alert( "falso" ); ATTENZIONE!!! la stringa "100" in ordine alfabetico viene prima della stringa "2" mostra "falso" ( come ci aspettiamo) ordinamento numerico: 1 10 50 70 101 691 146572 ordinamento alfabetico: 1 10 101 146572 50 691 70 Marco Camurri 11

Le funzioni parseint e parsefloat la funzione parseint riceve come argomento una stringa e restituisce il numero intero corrispodente ( per numeri con virgola esiste la funzione parsefloat ). var x = "100", y = "2", a, b ; a = parseint( x ); // ora a contiene 100 b = parseint( y ); // ora b contiene 2 if ( x < y ) confronto alfabetico alert( "vero" ); else alert( "falso" ); if ( a < b ) confronto numerico alert( "vero" ); else alert( "falso" ); apri esempio Si può usare la stessa variabile come input e output di parseint: x="103"; x = parseint( x ); // ora x contiene 103 (numero) Marco Camurri 12

il valore "Not a Number" ( NaN ) var x = "ciao"; var y = parseint(x); alert( y ); apri esempio Per verificare se una variabile contiene il valore NaN occorre utilizzare la funzione isnan. if ( isnan(y) ) alert( "la variabile y non contiene un numero" ); else alert( "la variabile y contiene il numero " + y ); Attenzione: non si può utilizzare l'operatore == o === per confrontare valori NaN, poichè il confronto restituisce sempre valore falso. Esempio: la condizione ( y==nan ) è sempre falsa (anche se y contiene il valore NaN). Marco Camurri 13

Finestre di INPUT/OUTPUT Con JavaScript è possibile aprire finestre (box) che mostrano un messaggio all'utente o richiedono un valore all'utente. apri esempio alert confirm prompt Marco Camurri 14

Le funzioni alert e confirm alert: mostra un messaggio con la sola opzione OK var x=10, y=20; alert( "la somma fra " + x + " e " + y + " è " + (x+y) ); confirm: mostra un messaggio di richiesta con le opzioni OK e ANNULLA e restituisce true se l'utente ha premuto OK var risp; risp = confirm(" Procedere con il pagamento? "); if ( risp == true ) { // fai qualcosa... } else { /* fai qualcos'altro...*/ } Marco Camurri 15

La funzione prompt prompt: apre una finestra contenente un messaggio e un campo di testo in cui l'utente può scrivere. Se l'utente preme ok, la funzione restituisce una stringa che corrisponde al testo digitato (eventualmente "" ). Se preme ANNULLA, la funzione restituise il valore null. var nome = prompt(" Come ti chiami? "); if ( nome!= null ) alert( "ti chiami" + nome ); else alert( "hai premuto annulla" ); null è un altro valore speciale presente in JavaScript (come NaN). Il valore null indica assenza di informazione Marco Camurri 16

il valore undefined oltre a NaN e null, esiste un terzo valore "speciale : undefined Una variabile contiene il valore undefined quando non le è mai stato assegnato un valore. var x; alert(x); // mostra undefined perchè x non è mai // stata inizializzata Marco Camurri 17

Operatori Aritmetici + addizione - sottrazione * moltiplicazione / divisione % modulo Relazionali == uguale!= diverso > maggiore >= maggiore o uguale < minore <= minore o uguale Logici! NOT && AND OR Assegnamento = assegnamento += somma e assegnamento -= sottrazione e assegnamento /= divisione e assegnamento *= moltiplicazione e assegnamento Incremento / Decremento ++ incremento -- decremento Marco Camurri 18

Strutture di controllo if... else var punteggio; if ( punteggio == 100 ) alert( "livello superato" ); else alert( "hai perso" ); ciclo for var i; for( i=0; i<100; i++ ) { alert( "Conta: " + i ); } ciclo do-while var numero; apri esempio do { n = parseint( prompt("inserisci un numero fra 1 e 1000") ); } while( ( isnan(n) ) ( n < 0 ) ( n > 1000) ); Marco Camurri 19