In VBScript è possibile utilizzare una variabile senza dichiararla preventivamente.
Ad esempio, il seguente script utilizza due variabili senza alcuna dichiarazione esplicita:
Indicare preventivamente quali variabili verranno utilizzate nello script si definisce appunto "dichiarare le variabili".
VBScript consente quindi di utilizzare variabili anche senza una dichiarazione esplicita. Questo comportamento può però rendere più difficile individuare alcuni errori.
Cosa succede se si sbaglia il nome di una variabile
Modifichiamo leggermente l'esempio precedente introducendo un errore di digitazione.
La variabile utilizzata per memorizzare la descrizione si chiama Descrizione:
Poiché le variabili non sono state dichiarate esplicitamente, VBScript considera Descrizone come una nuova variabile.
Lo script viene quindi eseguito senza segnalare l'errore di digitazione, ma il risultato non è quello desiderato:
In questo caso lo script può quindi sembrare corretto dal punto di vista dell'esecuzione, anche se il risultato prodotto è errato.
In script più lunghi, un errore di questo tipo può essere difficile da individuare.
Ad esempio, il seguente script utilizza due variabili senza alcuna dichiarazione esplicita:
CodiceArticolo = "ART001"Lo script viene eseguito regolarmente e restituisce:
Descrizione = "Stampante laser a colori"
Response.Write(CodiceArticolo & " - " & Descrizione)
ART001 - Stampante laser a coloriIn questo esempio sono state utilizzate le variabili CodiceArticolo e Descrizione, ma prima del loro utilizzo non è stato indicato esplicitamente a VBScript che lo script avrebbe utilizzato delle variabili con questi nomi.Indicare preventivamente quali variabili verranno utilizzate nello script si definisce appunto "dichiarare le variabili".
VBScript consente quindi di utilizzare variabili anche senza una dichiarazione esplicita. Questo comportamento può però rendere più difficile individuare alcuni errori.
Cosa succede se si sbaglia il nome di una variabile
Modifichiamo leggermente l'esempio precedente introducendo un errore di digitazione.
La variabile utilizzata per memorizzare la descrizione si chiama Descrizione:
Descrizione = "Stampante laser a colori"Nell'istruzione finale scriviamo però per errore Descrizone, senza la seconda lettera i:CodiceArticolo = "ART001"I nomi Descrizione e Descrizone sono differenti.
Descrizione = "Stampante laser a colori"
Response.Write(CodiceArticolo & " - " & Descrizone)
Poiché le variabili non sono state dichiarate esplicitamente, VBScript considera Descrizone come una nuova variabile.
Lo script viene quindi eseguito senza segnalare l'errore di digitazione, ma il risultato non è quello desiderato:
ART001 -La descrizione non viene visualizzata perché il valore Stampante laser a colori è stato assegnato alla variabile Descrizione, mentre nell'ultima istruzione viene utilizzata una variabile differente, chiamata Descrizone, alla quale non è stato assegnato alcun valore.In questo caso lo script può quindi sembrare corretto dal punto di vista dell'esecuzione, anche se il risultato prodotto è errato.
In script più lunghi, un errore di questo tipo può essere difficile da individuare.
Utilizzare Option Explicit e Dim
Per evitare questo problema è consigliabile dichiarare esplicitamente tutte le variabili utilizzate nello script.
In VBScript è possibile farlo utilizzando insieme Option Explicit e Dim.
Lo script precedente può essere riscritto nel seguente modo:
Le istruzioni Dim dichiarano invece i nomi delle variabili che lo script utilizzerà:
Vediamo ora cosa accade introducendo nuovamente lo stesso errore di digitazione:
Grazie alla presenza di Option Explicit, VBScript non considera automaticamente Descrizone come una nuova variabile, ma segnala un errore.
Per evitare questo problema è consigliabile dichiarare esplicitamente tutte le variabili utilizzate nello script.
In VBScript è possibile farlo utilizzando insieme Option Explicit e Dim.
Lo script precedente può essere riscritto nel seguente modo:
Option ExplicitOption Explicit indica a VBScript che tutte le variabili utilizzate nello script devono essere dichiarate.
Dim CodiceArticolo
Dim Descrizione
CodiceArticolo = "ART001"
Descrizione = "Stampante laser a colori"
Response.Write(CodiceArticolo & " - " & Descrizione)
Le istruzioni Dim dichiarano invece i nomi delle variabili che lo script utilizzerà:
Dim CodiceArticoloIn questo modo VBScript sa che nello script sono previste le variabili CodiceArticolo e Descrizione.
Dim Descrizione
Vediamo ora cosa accade introducendo nuovamente lo stesso errore di digitazione:
Option ExplicitLa variabile Descrizone utilizzata nell'ultima istruzione non è presente tra le variabili dichiarate con Dim.
Dim CodiceArticolo
Dim Descrizione
CodiceArticolo = "ART001"
Descrizione = "Stampante laser a colori"
Response.Write(CodiceArticolo & " - " & Descrizone)
Grazie alla presenza di Option Explicit, VBScript non considera automaticamente Descrizone come una nuova variabile, ma segnala un errore.
Lo script quindi non restituisce semplicemente un risultato incompleto: l'errore viene evidenziato e permette di individuare subito il nome della variabile da correggere.
Lo script corretto sarà:
Lo script corretto sarà:
Option ExplicitN.B. È consigliabile utilizzare Option Explicit e dichiarare con Dim tutte le variabili utilizzate negli script. In questo modo eventuali errori nei nomi delle variabili vengono segnalati durante l'esecuzione, invece di produrre risultati errati o incompleti più difficili da individuare.
Dim CodiceArticolo
Dim Descrizione
CodiceArticolo = "ART001"
Descrizione = "Stampante laser a colori"
Response.Write(CodiceArticolo & " - " & Descrizione)
Maiuscole e minuscole nei nomi delle variabili
Come anticipato nella sezione Linguaggi utilizzabili, VBScript non distingue tra lettere maiuscole e minuscole nei nomi delle variabili.
Questo significa che, per VBScript, i seguenti nomi identificano tutti la stessa variabile:
Ad esempio, il seguente script è corretto:
Questa è una delle caratteristiche che rendono VBScript più semplice da utilizzare per chi non ha esperienza di programmazione.
In alcuni altri linguaggi, definiti case sensitive, una differenza tra lettere maiuscole e minuscole può invece identificare variabili differenti. Ad esempio, nomi come CodiceArticolo, CODICEARTICOLO e codiceArticolo in JavaScript sarebbero considerati tre identificatori distinti con 3 valori distinti.
Con VBScript non è quindi necessario preoccuparsi di mantenere esattamente la stessa combinazione di lettere maiuscole e minuscole ogni volta che si utilizza una variabile.
N.B. Questo non significa che VBScript possa correggere qualsiasi errore nel nome di una variabile. Se cambia una lettera, ne manca una oppure ne viene aggiunta una, il nome diventa differente. È proprio il caso dell'esempio precedente, in cui Descrizione e Descrizone sono due nomi diversi.
Come anticipato nella sezione Linguaggi utilizzabili, VBScript non distingue tra lettere maiuscole e minuscole nei nomi delle variabili.
Questo significa che, per VBScript, i seguenti nomi identificano tutti la stessa variabile:
CodiceArticoloQuesta caratteristica rimane valida anche quando si utilizzano Option Explicit e Dim.
CODICEARTICOLO
codicearticolo
codiceArticolo
Ad esempio, il seguente script è corretto:
Option ExplicitAnche se la variabile è stata dichiarata come CodiceArticolo e successivamente utilizzata come codiceArticolo, VBScript riconosce che si tratta della stessa variabile.
Dim CodiceArticolo
CodiceArticolo = "ART001"
Response.Write(codiceArticolo)
Questa è una delle caratteristiche che rendono VBScript più semplice da utilizzare per chi non ha esperienza di programmazione.
In alcuni altri linguaggi, definiti case sensitive, una differenza tra lettere maiuscole e minuscole può invece identificare variabili differenti. Ad esempio, nomi come CodiceArticolo, CODICEARTICOLO e codiceArticolo in JavaScript sarebbero considerati tre identificatori distinti con 3 valori distinti.
Con VBScript non è quindi necessario preoccuparsi di mantenere esattamente la stessa combinazione di lettere maiuscole e minuscole ogni volta che si utilizza una variabile.
N.B. Questo non significa che VBScript possa correggere qualsiasi errore nel nome di una variabile. Se cambia una lettera, ne manca una oppure ne viene aggiunta una, il nome diventa differente. È proprio il caso dell'esempio precedente, in cui Descrizione e Descrizone sono due nomi diversi.



