Copertina
Autore John Pollock
Titolo Fondamenti di JavaScript
EdizioneMcGraw-Hill, Milano, 2004, , pag. 522, cop.fle., dim. 170x240x31 mm , Isbn 978-88-386-4390-3
OriginaleJavaScript: A Beginner's Guide, Second Edition [2004]
TraduttorePaolo Poli
LettoreLuca Vita, 2004
Classe informatica: linguaggi
PrimaPagina


al sito dell'editore


per l'acquisto su IBS.IT

per l'acquisto su BOL.IT

per l'acquisto su AMAZON.IT

 

| << |  <  |  >  | >> |

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 2

Introduzione a JavaScript



Questa è 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 7

1.4 Introduzione a JavaScript

L'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.

| << |  <  |