|
|
|
| << | < | > | >> |Indice
INTRODUZIONE XVII
1 Introduzione a JavaScript 1
Che cosa è necessario sapere 2
Elementi di base del linguaggio HTML 2
Che cosa sono gli editor di testi e i browser Web 3
Quale versione? 6
Attenzione, JavaScript non è Java 7
Analogie con altri linguaggi 7
Introduzione a JavaScript 7
Linguaggio a oggetti 8
Linguaggio per il lato client 8
Linguaggio script 9
Conclusioni 9
Risorse online 10
Progetto 1-1 Usare JavaScript per scrivere del testo 11
Passo dopo passo 11
Conclusioni del progetto 11
Modulo 1 - Verifica 12
2 Inserimento di codice JavaScript in un file HTML 15
Uso dei tag HTML SCRIPT 16
Identificazione del linguaggio script 16
Chiamata di script esterni 17
Nascondere il codice JavaScript per i browser
meno recenti 18
Creazione del primo script 19
Realizzazione di uno script "Hello World" 19
Creazione di un documento HTML per lo script 20
Inserimento dello script in un documento HTML 20
Progetto 2-1 Inserimento di uno script in un
documento HTML 22
Passo dopo passo 22
Conclusioni del progetto 23
Uso di file JavaScript esterni 23
Creazione di un file JavaScript 24
Creazione dei file HTML 24
Visualizzazione delle pagine nel browser 26
Progetto 2-2 Chiamata di uno script esterno
da un documento HTML 27
[...]
Uso dei commenti JavaScript 28
Inserimento di commenti su una riga 28
Aggiunta di commenti su più righe 29
Modulo 2 - Verifica 30
3 Uso delle variabili 33
Che cosa sono le variabili 34
A che cosa servono le variabili 34
Risparmio di tempo 35
Le variabili chiariscono il significato
del codice 35
Definizione delle variabili per gli script 36
Dichiarazione di variabili 36
Come assegnare un valore a una variabile 37
Denominazione delle variabili 38
I vari tipi di variabili 41
Numeri 41
Stringhe 42
Valori booleani 47
Valori nulli 48
Progetto 3-1 Dichiarazione di variabili 49
[...]
Uso delle variabili negli script 50
Come richiamare una variabile 50
Come aggiungere variabili a una stringa di testo 51
Realizzazione di una pagina in JavaScript 53
Creazione di una struttura di base 53
Definizione delle variabili 53
Aggiunta dei comandi 54
Modifica della pagina 55
Progetto 3-2 Creazione di una pagina HTML
con JavaScript 57
Modulo 3 - Verifica 60
4 Uso delle funzioni 63
Che cos'è una funzione 64
A che cosa servono le funzioni 64
La struttura delle funzioni 65
Dichiarazione delle funzioni , 65
Definizione del codice delle funzioni 66
Denominazione delle funzioni 67
Utilizzo dei parametri nelle funzioni 69
Aggiunta di istruzioni return a una funzione 71
Chiamata delle funzioni da uno script 72
Chiamata di una funzione nella sezione HEAD 73
Chiamata di una funzione nella sezione BODY 76
Richiamare una funzione da un'altra funzione 78
Chiamate di funzioni con parametri 80
Uso delle istruzioni return nelle funzioni 84
Progetto 4-1 Creazione di una pagina HTML
contenente funzioni 86
Conclusioni 87
Progetto 4-2 Scrivere nuove funzioni 89
Modulo 4 - Verifica 90
5 Gli operatori JavaScript 93
I vari tipi di operatori 94
Gli operatori matematici 95
[...]
Gli operatori di assegnamento 104
[...]
Progetto 5-1 Modificare il valore di una variabile 107
Gli operatori di confronto 109
[...]
Gli operatori logici 114
[...]
Operatori speciali 117
L'ordine delle operazioni 118
Progetto 5-2 Vero o falso? 120
Modulo 5 - Verifica 121
6 Istruzioni condizionali e cicli 123
Le istruzioni condizionali 124
Perché sono così utili le istruzioni
condizionali 124
Uso delle istruzioni condizionali 125
Uso dei blocchi if/else 126
Uso dell'istruzione switch 134
Progetto 6-1 Realizzazione di un blocco if/else 137
I cicli 138
Che cos'è un ciclo? 138
Perché sono utili i cicli 138
Uso dei cicli 139
I cicli for 140
I cicli while 147
Il ciclo do while 149
Progetto 6-2 Uso dei cicli for e while 150
Modulo 6 - Verifica 151
7 I gestori di eventi 155
Che cos'è un gestore di eventi? 156
Perché i gestori di eventi sono così utili 156
Posizionamento e utilizzo dei gestori di eventi 157
Posizionamento dei gestori di eventi 157
Uso dei gestori di eventi 157
Progetto 7-1 Creazione di un pulsante 160
Che cosa sono i gestori di eventi 161
[...]
Progetto 7-2 Invio di messaggi d'allarme
tramite eventi 172
Altri eventi 173
[...]
Creazione di script utilizzando i gestori di eventi 176
Il contenuto della barra di stato 176
Un collegamento ipertestuale su un pulsante 178
Progetto 7-3 Uso delle proprietà status e location
della finestra 180
Modulo 7 - Verifica 181
8 Gli oggetti 185
Gli oggetti 186
Che cos'è un oggetto? 186
Perché sono utili gli oggetti 187
Creazione di nuovi oggetti 188
Denominazione 188
La struttura degli oggetti 188
Aggiunta di metodi 198
Istruzioni per la manipolazione degli oggetti 202
Progetto 8-1 Creare un oggetto 205
Gli oggetti predefiniti di JavaScript 207
L'oggetto navigator 207
Progetto 8-2 Utilizzo dell'oggetto predefinito
navigator 214
Modulo 8 - Verifica 214
9 L'oggetto document 217
Che cos'è l'oggetto document 218
Uso delle proprietà dell'oggetto document 219
[...]
Uso dei metodi dell'oggetto document 250
[...]
10 L'oggetto window 259
Introduzione all'oggetto window 260
Uso delle proprietà dell'oggetto window 261
[...]
Uso dei metodi dell'oggetto window 269
[...]
11 Gli array in JavaScript 299
Che cos'è un array 300
Perché sono utili gli array 301
Definizione e accesso a un array 302
Denominazione 302
Definizione di un array 302
Accesso agli elementi di un array 303
Altri modi per definire un array 304
Le proprietà e i metodi dell'oggetto Array 307
Le proprietà 307
Metodi 310
Uso dei cicli sugli array 319
Creazione degli elementi di un array 319
Spostamenti all'interno degli array 321
Progetto 11-1 Cicli e array 325
Uso degli array associativi 326
Che cosa sono gli array associativi 326
Accesso agli array associativi 327
Progetto 11-2 Uso degli array associativi 328
Modulo 11 - Verifica 329
12 Gli oggetti Math, Number e Date 333
Uso dell'oggetto Math 334
Che cos'è l'oggetto Math? 334
In quale modo può essere utile l'oggetto Math 334
Proprietà 335
Metodi 338
Progetto 12-1 Visualizzazione di un collegamento
ipertestuale casuale 352
L'oggetto Number 352
Proprietà 353
Metodi 355
Uso dell'oggetto Date 356
Proprietà 356
I metodi 357
Metodi che restituiscono valori 358
Metodi che impostano valori 361
Altri metodi 362
Progetto 12-2 Creazione di un orologio JavaScript 366
Modulo 12 - Verifica 367
13 Manipolazione delle stringhe 369
Introduzione all'oggetto String 370
L'oggetto String 370
I letterali stringa 370
Qual è la differenza? 371
Uso delle proprietà dell' oggetto String 372
[...]
Uso dei metodi dell'oggetto String 375
[...]
Progetto 13-1 Uso di charAt() per trovare
la prima lettera 393
Conclusioni 394
Progetto 13-2 Uso di indexOf() per controllare
un indirizzo 396
Modulo 13 - Verifica 397
14 JavaScript e i moduli (form) 399
Accesso ai moduli 400
Uso di un array di form 400
Uso del nome dei form 404
Uso delle proprietà e dei metodi
dell'oggetto form 406
Le proprietà dell'oggetto form 406
I metodi dell'oggetto form 419
Convalida 420
onSubmit e l'istruzione return 420
Tecniche 422
Progetto 14-1 Che ore sono? 425
Uso dei form per attività di navigazione 425
Navigazione con caselle di selezione 426
Pulsanti di navigazione 429
Progetto 14-2 Script di navigazione
a caselle di selezione 430
Modulo 14 - Verifica 431
15 JavaScript e i frame 433
Un'introduzione ai frame 434
Lo scopo dei frame 434
Il codice contenente i frame 435
Opzioni per l'utilizzo dei frame 437
Accesso ai frame 440
L'array frames 441
Denominazione dei frame 444
Cambiare il contenuto di un frame 446
Cambiare il contenuto di un unico frame 446
Cambiare il contenuto di più frame 448
Progetto 15-1 Cambiare i frame 450
Navigazione nei frame 452
Uso di una casella di selezione nei frame 452
Problemi con i frame 454
Rinviare gli utenti alla pagina a frame 456
L'uso delle variabili su più frame 458
Progetto 15-2 Uso delle variabili 462
Modulo 15 - Verifica 464
16 Tecniche avanzate di programmazione JavaScript 467
Debugging degli script 468
I vari tipi di errori 468
Uso delle espressioni regolari 474
Creazione di espressioni regolari 475
Confronto fra stringhe ed espressioni regolari 475
Aggiunta di flag 477
Creazione di schemi più potenti 477
Sostituzione di parti di una stringa 482
Progetto 16-1 Convalida di un indirizzo Web 484
Uso dei cookie 485
Impostazione di un cookie 486
Lettura di un cookie 488
Progetto 16-2 Memorizzazione di un nome 491
Utilizzo delle immagini 492
Precaricamento 492
I rollover 494
Progetto 16-3 Creazione di un sistema
di navigazione a immagini 507
La sicurezza in JavaScript 507
Sicurezza e script firmati 508
Protezione della pagina 508
Modulo 16 - Verifica 510
Indice analitico 513
|
| << | < | > | >> |Pagina 2Questa è la seconda edizione del volume Fondamenti di JavaScript. Il lettore è evidentemente interessato all'apprendimento di JavaScript ma forse non sa ancora di cosa ha bisogno per iniziare a utilizzarlo. Questo modulo risponde ad alcune domande di base, spiegando che cos'è JavaScript, descrivendo i suoi vantaggi e i suoi limiti, spiegando come si può utilizzare JavaScript per creare pagine Web più dinamiche e interessanti e fornendo un breve riepilogo cronologico del linguaggio. Ormai JavaScript è impiegato ovunque nel World Wide Web. Si può utilizzare JavaScript sia per creare pagine Web interattive (in grado di reagire alle azioni dei visitatori) sia per inserire nelle pagine Web alcuni effetti speciali (visuali o di altro tipo). JavaScript viene spesso affiancato ad HTML (Hypertext Markup Language) quale linguaggio consigliato per coloro che intendono iniziare a sviluppare pagine Web (per professione o per diletto). Naturalmente si possono realizzare pagine Web utilizzando solo HTML, ma JavaScript consente di aggiungere nuove funzionalità che sarebbe impossibile ottenere in una pagina statica realizzata solo con HTML. 1.1 Che cosa è necessario sapere Prima di iniziare a parlare di JavaScript, occorre introdurre alcune informazioni di base sui seguenti argomenti. * Il linguaggio HTML * Gli editor di testo * I browser Web * Le varie versioni del linguaggio JavaScript Se, come è probabile, il lettore è già dotato di alcune di queste conoscenze di base, non vi saranno problemi a procedere nella lettura di questo volume. In particolare non è richiesta alcuna conoscenza di altri linguaggi di programmazione o di linguaggi per script, né una precedente esperienza con JavaScript. In fin dei conti questo volume descrive proprio i Fondamenti di JavaScript. Se si pensa di non avere sufficiente esperienza in uno dei campi appena menzionati, i seguenti paragrafi potranno essere utili per procedere nella lettura del volume. Elementi di base del linguaggio HTML Non è certo necessario essere grandi esperti di HTML, ma occorre quanto meno sapere dove posizionare determinati elementi (per esempio gli elementi che compongono il titolo e il corpo delle pagine) e come aggiungere gli attributi necessari. Questo volume fa spesso riferimento all'inserimento di script nella sezione HEAD (compresa fra i tag <HEAD> e </HEAD> e nella sezione BODY (compresa fra i tag <BODY> e </BODY» di una pagina Web. Talvolta, perché uno script possa funzionare correttamente, sarà anche necessario aggiungere un attributo a un tag. Per esempio, può essere necessario assegnare un nome a un elemento utilizzando l'attributo name, come nel seguente esempio: <INPUT type="text" name="nome">" Se si conoscono gli elementi di base dell'utilizzo dei tag e degli attributi, il linguaggio HTML non dovrebbe rappresentare un problema per l'apprendimento di JavaScript. Un utile testo di riferimento sull'argomento è HTML la Reference di T.A. POWELL (McGraw-Hill,2001). Che cosa sono gli editor di testi e i browser Web Prima di iniziare a programmare con JavaScript, occorre essere in grado di utilizzare un editor di testi o un editor HTML più un browser Web. Questi saranno gli strumenti da utilizzare per realizzare gli script. Editor di testi Sono moltissimi gli editor di testi e gli editor HTML che supportano JavaScript. Chiunque abbia provato a realizzare una pagina Web con il linguaggio HTML, avrà probabilmente già utilizzato un editor HTML e dunque non sarà necessario cambiare nulla. Tuttavia alcuni editor HTML non consentono l'aggiunta di codice JavaScript (per esempio non consentono di cambiare la posizione del codice o di modificare il codice una volta che il file è stato salvato). In questo caso si dovrà utilizzare un editor più semplice oppure trovare un editor HTML in grado di gestire con maggiore facilità l'aggiunta di codice JavaScript. Per esempio si può utilizzare il Blocco note di Windows, TextPad o Simple Text. I browser Web Anche in questo caso, se si ha già qualche esperienza di programmazione con il linguaggio HTML, probabilmente non sarà necessario cambiare browser. Tuttavia alcuni browser non sono in grado di gestire le versioni più recenti di JavaScript. Il lettore può scegliere il browser Web che preferisce; è sufficiente che tale browser sia compatibile con JavaScript. Per collaudare il codice JavaScript si consiglia di impiegare uno dei seguenti browser. * Microsoft Internet Explorer versione 4.0 o successiva. * Netscape Navigator versione 4.0 o successiva. Con l'andar del tempo vengono continuamente sviluppate nuove versioni di questi browser. Al momento attuale, Microsoft Internet Explorer è giunto alla versione 6 e Netscape Navigator alla versione 7. | << | < | > | >> |Pagina 71.4 Introduzione a JavaScriptL'origine di JavaScript è dovuta a uno sforzo congiunto di Netscape Communications Corporation e Sun Microsystems. La prima release del nuovo linguaggio risale al 4 dicembre 1995, quando Netscape Navigator 2.0 era ancora in versione "beta" (per informazioni sulle release consultare l'indirizzo http://home.netscape.com/newsref/pr/newsrelease67.html). JavaScript versione 1.0 è stato reso disponibile con il lancio di questo nuovo browser (prima del suo rilascio con il nome "JavaScript", il linguaggio si chiamava LiveScript). JavaScript è un linguaggio a oggetti per il lato client, utilizzabile per rendere dinamiche le pagine Web. Per dare un senso a questa definizione, i prossimi paragrafi esamineranno le sue parti una per una. Linguaggio a oggetti Un linguaggio a oggetti come JavaScript può utilizzare elementi chiamati oggetti. Tuttavia gli oggetti non sono basati su classi (ovvero non esiste alcuna distinzione fra una classe e un'istanza); al contrario sono semplicemente oggetti generali. Si imparerà a utilizzare gli oggetti JavaScript nel Modulo 8. Non si avrà bisogno di parlare in dettaglio degli oggetti finché non saranno state introdotte alcune caratteristiche di base del linguaggio. Linguaggio per il lato client Questo significa che JavaScript viene eseguito nel software client utilizzato da colui che visualizza la pagina Web e non dal server Web del sito che sta inviando la pagina. In questo caso, il client sarà un browser Web. Per chiarire meglio questo fatto, si parlerà del funzionamento dei linguaggi per il lato server e dei linguaggi per il lato client. Linguaggi per il lato server Un programma scritto in un linguaggio per il lato server prevede che la pagina Web o il browser Web, inviino delle informazioni a un programma in esecuzione sul computer server, il quale poi rinvia le informazioni di nuovo al browser. Pertanto è necessario un passo intermedio (invio e ricezione delle informazioni dal server) prima che il browser possa presentare i risultati. Un linguaggio per il lato server dà al programmatore varie possibilità che non possono essere presenti su un linguaggio per il lato client, per esempio il salvataggio delle informazioni sul server Web o l'utilizzo di nuove informazioni per aggiornare una pagina Web e salvare gli aggiornamenti. Tuttavia un linguaggio per il lato server ha funzionalità limitate nel campo della gestione di quelle funzionalità della finestra del browser che possono essere manipolate con il linguaggio sul lato client (come il contenuto presentato nella barra di stato del browser o il contenuto di un modulo, prima che venga inviato al server). Linguaggi per il lato client Un programma scritto in un linguaggio per il lato client viene eseguito direttamente nel client utilizzato da colui che visualizza la pagina. Nel caso di JavaScript, il client è un browser Web. Pertanto il codice JavaScript viene eseguito direttamente nel browser Web e non deve svolgere le operazioni di invio e ricezione delle informazioni dal server. Con un linguaggio per il lato client, il browser legge e interpreta il codice e i risultati possono essere presentati all'utente che visualizza la pagina senza richiedere alcuna infonnazione al server. Questa possibilità consente di eseguire più rapidamente alcune operazioni. Un linguaggio per il lato client può anche accedere ad alcune funzionalità speciali della finestra del browser che potrebbero non essere accessibili con un linguaggio per il lato server. Tuttavia a un linguaggio per il lato client manca la possibilità di salvare i file o gli aggiornamenti su un server Web, mentre questa funzionalità è presente in un linguaggio per il lato server. Un linguaggio per il lato client è particolarmente utile per operazioni che riguardano le parti del browser che prevedono la convalida delle informazioni che devono essere inviate a un programma o a uno script operante sul lato server. Per esempio, JavaScript può aprire una nuova finestra di dimensioni ben determinate, con determinate caratteristiche (per esempio una barra degli strumenti o una barra di stato) e una determinata posizione sullo schermo. JavaScript può essere utilizzato anche per verificare le informazioni inserite in un modulo prima di inviarle a un programma sul lato server per l'elaborazione. Questo controllo delle informazioni semplifica il compito del server Web, impedendo che vengano inviate infonnazioni imprecise o incomplete. Invece di ripetere l'esecuzione del programma sul server finché le informazioni non saranno corrette, i dati possono essere inviati al server una sola volta, dopo essere stati verificati da un programma sul lato client. Linguaggio script Un linguaggio script può essere eseguito senza compilazione. In pratica viene interpretato "al volo" dal client. Con un normale linguaggio di programmazione, prima di poter eseguire un programma occorre scriverlo, ed elaborarlo con un particolare programma chiamato compilatore che verifica che il programma non contenga errori di sintassi. Con un linguaggio script, il codice viene interpretato nel momento in cui viene caricato nel client. Pertanto è possibile verificare i risultati del codice molto più rapidamente. Tuttavia gli errori non verranno individuati prima dell'esecuzione dello script e dunque possono provocare dei problemi nel caso in cui il client non sia in grado di gestire correttamente tali errori. Nel caso di JavaScript, la gestione degli errori è lasciata al browser impiegato per visualizzare la pagina Web. Conclusioni Dopo questa presentazione, ci si potrebbe chiedere in quale modo JavaScript possa essere eseguito in un browser, dove si deve scrivere il codice JavaScript e in quale modo il browser riesce a capire che si tratta di un elemento differente rispetto al resto della pagina Web. Per il momento le risposte possono essere generali, ma il prossimo modulo fornirà ulteriori dettagli. JavaScript può essere eseguito nel browser aggiungendo particolari elementi a un documento HTML esistente. In particolare si deve inserire nel codice HTML un insieme di tag e comandi speciali che dicono al browser che in quella posizione deve essere eseguito uno script. Quando il browser individua questi speciali tag, interpreta i comandi JavaScript ed esegue le azioni specificate all'interno del codice. Pertanto, per utilizzare JavaScript nelle pagine Web e vedere i risultati basta aprire e modificare un documento HTML. Per esempio nel seguente listato viene aggiunto del codice JavaScript a un file HTML che scrive del testo nella pagina Web. Si noti l'aggiunta dei tag <SCRIPT> e </SCRIPT> Il testo racchiuso fra questi tag è codice JavaScript.
<HTML>
<BODY> Questo tag dice al browser che ciò
<SCRIPT language="JavaScript"> --- che segue è codice JavaScript
document.write ("Scrive del testo sulla pagina"); --- Questa riga scrive
</SCRIPT> --- Questa riga segnala sulla pagina il testo
</BODY> la fine dello script racchiuso fra apici
</HTML>
Il prossimo modulo spiega come aggiungere del codice JavaScript a un file
HTML utilizzando i tag HTML <SCRIPT> e </SCRIPT>. Questo è il primo
passo
per
diventare un provetto programmatore JavaScript.
|