English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base JavaScript

Oggetti JavaScript

Funzioni JavaScript

DOM HTML JS

BOM del browser JS

Tutorial di base AJAX

Manuale di riferimento JavaScript

Stringa (String) JavaScript

Una stringa è una sequenza di uno o più caratteri, costituiti da lettere, numeri o simboli.

Le stringhe in JavaScript sono un tipo di dati primitivo e immutabile, il che significa che non sono modificate.

Stringhe JavaScript

Le stringhe JavaScript sono composte da zero o più caratteri racchiusi tra virgolette.

var x = "JavaScript tutorial ";
Prova a vedere < / >

In JavaScript, puoi scegliereVirgola singolaoVirgolette doppieper racchiudere una stringa. Entrambi i metodi funzionano correttamente:

var msg1 = "Hello world"; // uso di virgolette doppi
var msg2 = 'Hello world'; // uso di virgolette singole
Prova a vedere < / >

Puoi usare virgolette all'interno di una stringa, purché non corrispondano a quelle della stringa esterna:

var str1 = 'Ella disse "Hey" e se ne andò'; // singoli apici con virgolette all'interno
var str2 = "She said 'Hey' and left"; // Virgola singola all'interno delle virgolette
var str3 = "Let's have a cup of tea"; // Virgola singola all'interno delle virgolette
var str4 = 'We\'ll never give up'; // Usare il backslash per escaping la virgola singola
Prova a vedere < / >

Il metodo più recente per creare una stringa si chiamaTemplate costanti(template literal).

I template literals utilizzano i backslash (` `) e funzionano allo stesso modo delle stringhe normali:

var x = `Questo stringa utilizza i backslash.`;
Prova a vedere < / >

Calcolo della lunghezza della stringa

lengthL'attributo restituisce la lunghezza della stringa. Per una stringa vuota, la lunghezza è 0.

var str = 'JavaScript tutorial ';
str.length;// return 15
Prova a vedere < / >

Attenzione:Lo spazio è considerato un carattere.

Connessione di stringhe

Concatenazione significa unire due o più stringhe per creare una nuova stringa.

+ Operatore utilizzato per aggiungere (unire) stringhe.

var str1 = "quick brown fox";
var str2 = "over the lazy dog";
var str3 = "The " + str1 + " jumps " + str2;
Prova a vedere < / >

template literalUna funzionalità speciale del linguaggio è la capacità di includere espressioni e variabili nelle stringhe. Senza dover utilizzare concatenazione, possiamo inserire le variabili utilizzando la sintassi ${}.

var str1 = "quick brown fox";
var str2 = "over the lazy dog";
var str3 = `The ${str1} jumps ${str2}.`;
Prova a vedere < / >

In questo caso, l'uso dei template literals potrebbe essere più facile e conveniente per la scrittura.

Sequenza di escape

Poiché le stringhe devono essere racchiuse tra virgolette, il seguente contenuto genererà un errore perché confonderà il terminatore della stringa nel browser:

var x = 'We'll never give up';
var y = "She said 'Hey' and left";

La sequenza di escape significa che le operiamo per assicurarci che vengano riconosciute come testo e non come parte del codice.

In JavaScript, raggiungiamo questo obiettivo aggiungendo un backslash () davanti al carattere.

CodiceRisultatoDescrizione
\''Virgola singola
\"Virgolette doppie
\\\\Barra inversa

Questa sequenza'  inserisce una virgola singola nella stringa:

var x = 'We\'ll never give up';
Prova a vedere < / >

Questa sequenza "  inserisce virgolette doppie nella stringa:

var x = "Ha detto \\
Prova a vedere < / >

La sequenza \\ inserisce l'antirovesciata nella stringa:

var x = "Il carattere \\ è chiamato backslash";
Prova a vedere < / >

In JavaScript ci sono altre sei sequenze di escape valide:

CodiceDescrizione
\bTasto di retrocessione
\fPagine
\nNuova riga
\rCarattere di ritorno della riga
\tTab orizzontale
\vTab verticale

Le sequenze di escape sono anche utili per i caratteri che non possono essere inseriti utilizzando i tasti della tastiera.

Righe di codice lunghe

Per ottenere una migliore leggibilità, è meglio evitare che le righe di codice superino i 80 caratteri.

Se una riga di JavaScript non si adatta a una riga, il miglior punto per romperla è dopo l'operatore:

document.getElementById("para").innerHTML = "La somma di 20 e 30 è " +
somma;
Prova a vedere < / >

Scrivere una stringa molto lunga su una riga diventa presto difficile da leggere e utilizzare.

Possiamo utilizzare l'operatore di concatenazione (+) per visualizzare stringhe su più righe.

var str = "Inquinamento atmosferico è la sostanza che entra in " +
"Atmosfera. Provoca un disequilibrio ambientale e porta a " +
"Diversi disturbi.";
Prova a vedere < / >

Oltre all'uso di più stringhe, possiamo anche utilizzare il simbolo di escape \.

var str = "Inquinamento atmosferico è la sostanza che entra in \
Atmosfera. Provoca un disequilibrio ambientale e porta a \
Diversi disturbi.";
Prova a vedere < / >

Attenzione:Il metodo (\) non è preferito, poiché può causare problemi in alcuni browser e minifiers.

Per rendere il codice più leggibile, possiamo utilizzareTemplate costanti(template literal)Stringhe. Queste eliminano la necessità di concatenare stringhe lunghe o di escapare.

var str = `Inquinamento atmosferico è la sostanza che entra in
Atmosfera. Provoca un disequilibrio ambientale e porta a
Diversi disturbi.`;
Prova a vedere < / >

È importante sapere tutti i metodi per creare stringhe multirighe, poiché diversi repository di codice possono utilizzare standard diversi.

Stringhe primarie e stringhe oggetto

Di solito, le stringhe JavaScript sono valori originali creati da testi:

var city = "New Delhi";

Ma, si può anche definire una stringa come oggetto utilizzando la parola chiave new:

var city = new String("New Delhi");

Per testare la differenza tra i due, inizieremo con un'istanza di stringa primitiva e un'istanza di stringa oggetto.

var str1 = "New Delhi";
var str2 = new String("New Delhi");
typeof str1 // restituisce stringa
typeof str2 // restituisce oggetto
Prova a vedere < / >

Attenzione:Non creare stringhe come oggetti. Questo ridurrà la velocità di esecuzione e produrrà alcuni risultati imprevisti.

Quando si utilizza l'operatore ==, le stringhe uguali sono le stesse:

var str1 = "New Delhi";
var str2 = new String("New Delhi");
document.write(str1 == str2); // Restituisce true perché str1 e str2 hanno lo stesso valore
Prova a vedere < / >

Quando si utilizza l'operatore ===, le stringhe uguali non sono le stesse perché l'operatore === si aspetta valore e tipo uguali:

var str1 = "New Delhi";
var str2 = new String("New Delhi");
document.write(str1 === str2); // Restituisce false perché str1 e str2 sono di tipo diverso
Prova a vedere < / >

Impossibile confrontare gli oggetti:

var str1 = new String("New Delhi");
var str2 = new String("New Delhi");
document.write(str1 == str2); // Poiché str1 e str2 sono oggetti diversi, viene restituito false
document.write(str1 === str2); // Poiché str1 e str2 sono oggetti diversi, viene restituito false
Prova a vedere < / >

Attenzione alla differenza tra (==) e (===). La comparazione di due oggetti JavaScript sempre restituirà false.