Se creando una stringa dimentichiamo le virgolette, incorriamo in errori di sintassi. Ad esempio:
mioNome=Wolfgang;
restituisce un errore, perché Wolfgang
non è tra virgolette (non è quindi una stringa) e il motore di scripting che interpreta la pagina si aspetterà di trovare un'altra variabile che si chiama Wolfgang
.
Ecco alcune semplici regole da ricordare nella creazione di stringhe:
- tutto il contenuto della stringa deve essere compreso tra le virgolette di apertura e quelle di chiusura (non importa che si tratti di virgolette semplici o di virgolette doppie)
- non andare a capo tra l'apertura e la chiusura
- inserire altre virgolette interne alla stringa, dello stesso tipo di quelle che la delimitano, provoca un errore
Ad esempio una sintassi di questo genere è errata:
miaScritta="ho detto "basta!"";
perché la stringa non viene scritta correttamente (viene infatti chiusa prematuramente).
Ci sono diversi stratagemmi per utilizzare le virgolette all'interno di una stringa. Vediamone alcuni:
Stratagemma | Descrizione | Esempio |
---|---|---|
Uso del carattere di escape" |
Si fanno precedere le virgolette interne alla stringa da un carattere di escape (il back-slash), che fa sì che le virgolette siano ignorate | miaScritta="ho detto "basta!""; |
Apici semplici dentro apici doppi" ' ' " |
Cambiando il tipo di virgolette, si evita di chiudere impropriamente la stringa | miaScritta="ho detto 'basta!'"; |
Apici doppi dentro apici semplici' " " ' |
Ovviamente anche l'esempio contrario è valido | miaScritta='ho detto "basta!"'; |
Trasformare le virgolette in "" " " " |
Trasformando le virgolette nei caratteri speciali dell'HTML il risultato non cambia | miaScritta="ho detto " basta!"" |
In ogni caso per risolvere il nostro errore iniziale possiamo anche creare la variabile Wolfgang e assegnarle un testo. Poi sfrutteremo la possibilità di assegnare a una variabile il contenuto di un'altra variabile:
Wolfgang="sono io"; mioNome=Wolfgang; alert(mioNome); //visualizza "sono io"