In VBScript è possibile utilizzare una variabile senza dichiararla preventivamente.
Ad esempio, il seguente script utilizza due variabili senza alcuna dichiarazione esplicita:
Lo script viene eseguito regolarmente e restituisce:
In 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:
Nell'istruzione finale scriviamo però per errore Descrizone, senza la seconda lettera i:
I nomi Descrizione e Descrizone sono differenti.
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:
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.
Ad esempio, il seguente script utilizza due variabili senza alcuna dichiarazione esplicita:
CodiceArticolo = "ART001"
Descrizione = "Stampante laser a colori"
Response.Write(CodiceArticolo & " - " & Descrizione)
Lo script viene eseguito regolarmente e restituisce:
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"
Descrizione = "Stampante laser a colori"
Response.Write(CodiceArticolo & " - " & Descrizone)
I nomi Descrizione e Descrizone sono differenti.
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:
Option Explicit indica a VBScript che tutte le variabili utilizzate nello script devono essere dichiarate.
Le istruzioni Dim dichiarano invece i nomi delle variabili che lo script utilizzerà:
In questo modo VBScript sa che nello script sono previste le variabili CodiceArticolo e Descrizione.
Vediamo ora cosa accade introducendo nuovamente lo stesso errore di digitazione:
La variabile Descrizone utilizzata nell'ultima istruzione non è presente tra le variabili dichiarate con Dim.
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 Explicit
Dim CodiceArticolo
Dim Descrizione
CodiceArticolo = "ART001"
Descrizione = "Stampante laser a colori"
Response.Write(CodiceArticolo & " - " & Descrizione)
Option Explicit indica a VBScript che tutte le variabili utilizzate nello script devono essere dichiarate.
Le istruzioni Dim dichiarano invece i nomi delle variabili che lo script utilizzerà:
Dim CodiceArticolo
Dim Descrizione
In questo modo VBScript sa che nello script sono previste le variabili CodiceArticolo e Descrizione.
Vediamo ora cosa accade introducendo nuovamente lo stesso errore di digitazione:
Option Explicit
Dim CodiceArticolo
Dim Descrizione
CodiceArticolo = "ART001"
Descrizione = "Stampante laser a colori"
Response.Write(CodiceArticolo & " - " & Descrizone)
La variabile Descrizone utilizzata nell'ultima istruzione non è presente tra le variabili dichiarate con Dim.
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à:
N.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.
Lo script corretto sarà:
Option Explicit
Dim CodiceArticolo
Dim Descrizione
CodiceArticolo = "ART001"
Descrizione = "Stampante laser a colori"
Response.Write(CodiceArticolo & " - " & Descrizione)
N.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.
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:
Questa caratteristica rimane valida anche quando si utilizzano Option Explicit e Dim.
Ad esempio, il seguente script è corretto:
Anche se la variabile è stata dichiarata come CodiceArticolo e successivamente utilizzata come codiceArticolo, VBScript riconosce che si tratta della stessa variabile.
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:
CodiceArticolo
CODICEARTICOLO
codicearticolo
codiceArticolo
Questa caratteristica rimane valida anche quando si utilizzano Option Explicit e Dim.
Ad esempio, il seguente script è corretto:
Option Explicit
Dim CodiceArticolo
CodiceArticolo = "ART001"
Response.Write(codiceArticolo)
Anche se la variabile è stata dichiarata come CodiceArticolo e successivamente utilizzata come codiceArticolo, VBScript riconosce che si tratta della stessa variabile.
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.



