Finestre.  Virus.  I Quaderni.  Internet.  ufficio.  Utilità.  Autisti

Variabili e costanti in JavaScript. Dichiarare variabili e assegnare loro valori. Variabili globali e locali. Uso delle costanti.

Dichiarazione di variabili in JavaScript

I nomi delle variabili in JavaScript possono essere costituiti da lettere, numeri, il segno $ e il segno _ e il nome della variabile non può iniziare con un numero. Tieni presente che JavaScript fa distinzione tra maiuscole e minuscole e a1 e A1 sono variabili diverse. Il cirillico non è raccomandato, sebbene sia possibile.
Le variabili in JavaScript sono dichiarate con la parola chiave var:

Var Peremennaya_1 var Peremennaya_2

L'utilizzo di variabili in JavaScript senza una dichiarazione non è consigliato. Questo è possibile, ma può causare errori.

Assegnazione di un valore alle variabili

Assegnazione di un valore alle variabili dichiarate in JavaScript:

Peremennaya_1 = 25 Peremennaya_2 = "Il testo assegnato è racchiuso tra virgolette"

È possibile assegnare un valore alle variabili immediatamente dopo la dichiarazione:

Var Peremennaya_1 = 25 var Peremennaya_2 = "Racchiudiamo il testo assegnato tra virgolette"

Il valore di una variabile in JavaScript può cambiare durante l'esecuzione del programma. Quando si scrive testo su una variabile, deve essere racchiuso tra virgolette.

Variabili locali e globali

Se una variabile è dichiarata all'interno di una funzione, allora lo è Locale e saranno disponibili (avranno visibilità) solo all'interno di tale funzione. Quando una funzione termina, le variabili locali in JavaScript vengono distrutte, quindi puoi utilizzare variabili con lo stesso nome in funzioni diverse.

Se una variabile è dichiarata al di fuori delle funzioni, allora lo è globale e sarà disponibile (avere visibilità) in tutte le funzioni all'interno della pagina. Le variabili globali vengono distrutte in JavaScript quando la pagina viene chiusa.

Costanti in JavaScript

Costanti sono progettati per semplificare il lavoro con il codice quando è necessario utilizzare valori o espressioni ripetuti. E' sufficiente impostare un valore per la costante una volta e puoi usarla quanto vuoi, inserendola nel codice dei tuoi programmi. Non in JavaScript parola chiave per dichiarare le costanti, invece delle costanti vengono usate variabili ordinarie. Per distinguere le costanti dalle variabili, di solito sono denotate lettere maiuscole, utilizzando un carattere di sottolineatura se necessario:

Var DRUG_CHELOVEKA = "Cane"

L'esempio fornito di una costante non è del tutto completo, poiché la parola "Cane" è già facile da ricordare e inserire dove necessario. Puoi utilizzare le costanti in JavaScript per scrivere e inserire valori più complessi, come codici difficili da ricordare, set di caratteri, testo lungo, indirizzi web, indirizzi E-mail, numeri di telefono, coefficienti diversi.

In JavaScript, le costanti possono essere riscritte come variabili, ma se lo fai, il significato delle costanti viene perso.

Esistono tre ambiti in JavaScript: globale, ambito di funzione e ambito di blocco. Ambito variabile- questa è la zona codice sorgente programma in cui le variabili e le funzioni sono visibili e possono essere utilizzate. L'ambito globale è anche chiamato codice di primo livello.

Variabili globali

Una variabile dichiarata al di fuori di una funzione o di un blocco è detta variabile globale. La variabile globale è disponibile ovunque nel codice sorgente:

varnum = 5; funzione foo() ( console.log(num); ) foo(); // 5 console.log(num); // 5 ( console.log(numero); // 5 )

Variabili locali

Una variabile dichiarata all'interno di una funzione è detta variabile locale. Una variabile locale è disponibile ovunque all'interno del corpo della funzione in cui è stata dichiarata. Una variabile locale viene creata ogni volta che viene chiamata una nuova funzione e distrutta quando esce (quando la funzione termina):

Funzione foo() ( var num = 5; console.log(num); ) foo(); // 5 console.log(tipodinum); // non definito

Una variabile locale ha la precedenza su una variabile globale con lo stesso nome, il che significa che la variabile locale verrà utilizzata all'interno della funzione piuttosto che quella globale:

var x = "globale"; // Variabile globale function checkscope() ( var x = "local"; // Variabile locale con lo stesso nome di global document.write(x); // Viene utilizzata la variabile locale, non globale ) checkscope(); // => "locale" Prova »

Blocca variabili

Una variabile dichiarata all'interno di un blocco con la parola chiave let è chiamata variabile di blocco. Una variabile di blocco è disponibile ovunque all'interno del blocco in cui è stata dichiarata:

letnum = 0; ( let num = 5; console.log(num); // 5 ( let num = 10; console.log(num); // 10 ) console.log(num); // 5 ) console.log(num) ; // 0

Ri-annuncio

Se dichiari nuovamente una variabile con lo stesso nome (nello stesso ambito) utilizzando la parola chiave var, non accadrà nulla:

Vara = 10; var a; log della console(a); // 10

Se la nuova dichiarazione è seguita da un'inizializzazione, tale istruzione si comporta come una normale assegnazione di un nuovo valore:

Vara = 10; var a = 5; // Uguale a a = 5; log della console(a); // 5

Se dichiari nuovamente una variabile con lo stesso nome (nello stesso ambito) utilizzando la parola chiave let, verrà generato un errore:

Vara = 10; lascia un; // Errore.

Catena di ambiti

Considera il seguente esempio:

varnum = 5; funzione foo() ( var num2 = 10; funzione bar() ( var num3 = 15; ) )

Ci sono tre ambiti in questo codice: ambito globale, ambito della funzione foo() e ambito della funzione bar(). La variabile num e la funzione foo() sono definite nell'ambito globale. La variabile num2 e la funzione bar() sono definite nell'ambito della funzione foo() e in essa è disponibile anche la variabile num dall'ambito globale. L'ambito della funzione bar() contiene una variabile num3 , che è disponibile solo all'interno della funzione bar(). Nell'ambito della funzione bar(), sono accessibili anche le variabili degli altri due ambiti, perché ne sono i genitori. La catena di ambito per questo esempio è mostrata nella figura seguente:

Nella figura sono mostrati diversi ambiti con rettangoli di colori diversi. L'ambito interno nella catena dell'ambito può accedere a tutto dagli ambiti esterni, ma gli ambiti esterni non possono accedere a nulla dagli ambiti interni.

La catena dell'oscilloscopio è ordinata. L'interprete cerca nella catena dell'ambito gli identificatori verso l'esterno, non verso l'interno. Ciò significa che la ricerca del nome inizia nell'ambito in cui è stato effettuato l'accesso all'identificatore. Se viene trovato il nome dell'identificatore, la ricerca viene terminata. Se il nome non può essere trovato nell'ambito corrente, la ricerca viene eseguita nell'ambito successivo (esterno) e così via, quindi verrà utilizzato l'identificatore dell'ambito in cui è stato trovato. Se l'identificatore non viene trovato in nessuno degli ambiti, JavaScript genererà un errore:

var str = "globale"; varnum = 5; function foo() ( var str = "local"; // Usa la variabile locale str num = 10; // Usa la variabile globale num // alert(x); // Errore. La variabile x non è in alcuno scope ) foo( ) ; avviso(str); // "globale" alert(num); // 10

Se assegni un valore a una variabile non dichiarata nel corpo della funzione, allora al momento della chiamata della funzione, se non ci sono variabili con lo stesso nome nell'ambito globale, verrà creata una nuova variabile globale:

Funzione foo() ( num = 2; ) foo(); // Crea una nuova variabile globale num alert(num); // 2

Aumenta gli annunci

In JavaScript, le variabili dichiarate sono disponibili ovunque rispetto al loro ambito, il che significa che le variabili sono visibili anche prima di essere dichiarate nel codice. Questa caratteristica di JavaScript è chiamata informalmente sollevamento: il codice si comporta come se le dichiarazioni di variabile fossero implicitamente sollevate (senza inizializzazione) all'inizio del loro ambito.

Considera il seguente frammento di codice:

var str = "globale"; function foo() ( alert(str); // undefined var str = "local"; alert(str); // "local" ) foo();

Osservando il codice, si potrebbe pensare che il primo alert debba emettere la stringa "global" perché la dichiarazione della variabile locale str non è ancora stata eseguita. Tuttavia, l'output effettivo non è definito. Grazie al sollevamento della dichiarazione, la funzione sopra è equivalente all'implementazione sotto, in cui la dichiarazione della variabile è sollevata all'inizio della funzione:

Funzione foo() ( var str; // Dichiarazione di una variabile locale all'inizio della funzione alert(str); // Qui è disponibile, ma non inizializzata str = "local"; // Qui è inizializzata alert( str); // E qui ha il valore atteso - "local")

Lo stesso vale per l'ambito globale, la variabile dichiarata in basso è disponibile in alto:

Avviso(num); // undefined var num = 10; avviso(numero); // 10

IN javascript, esistono due ambiti: locale e globale. Dipende da dove viene dichiarata la variabile, all'interno o all'esterno della funzione.

Se la variabile è dichiarata all'interno della funzione, allora si chiama locale, se la variabile è dichiarata all'esterno della funzione, allora si chiama globale.

Il concetto moderno di programmazione raccomanda che tutte le variabili negli script (programmi) siano locali e che il programma stesso dovrebbe consistere solo di funzioni, in cui ogni funzione eseguirà solo un'attività. Ad esempio, in un altro linguaggio di programmazione web PHP, hanno generalmente abbandonato l'uso delle variabili globali.

Variabili globali in JavaScript

Le variabili globali sono dichiarate al di fuori delle funzioni e sono accessibili (accessibili) da qualsiasi funzione o riga di programma.

Var Russia; russia = "Russia"; funzione getValueRussia() ( alert(russia); ) getValueRussia();

Qui russia è una variabile globale perché è dichiarata al di fuori della funzione. Per dimostrare che una variabile è globale, vi abbiamo effettuato l'accesso dall'interno costume funzione getValueRussia(), utilizzando la funzione alert() che visualizzava il valore della variabile russia.

Variabili locali in JavaScript

Le variabili locali in JavaScript sono dichiarate all'interno delle funzioni. È possibile accedere alle variabili locali solo all'interno della funzione in cui sono dichiarate.

Funzione getValueRussia() ( var russia; russia = "Russia"; ) alert(russia);

IN questo esempio, non succederà nulla (la casella con la scritta "Russia" non apparirà), e se visualizzi lo script tramite la console, ci dirà che la variabile russia non è definita (non definita), il che significa che la funzione alert () (posizionata all'esterno della funzione) non vede la variabile russia che è stata creata all'interno la funzione.

Funzione getValueRussia() ( var russia; russia = "Russia"; alert(russia); ) getValueRussia();

Inserendo la funzione alert() all'interno di una funzione e quindi chiamando la funzione getValueRussia(), vedremo una casella con l'etichetta "Russia". Questi esempi ci mostrano che è possibile accedere alle variabili locali solo all'interno della funzione in cui sono state create.

Ciao! Oggi parleremo dell'ambito delle variabili (leggi cos'è una variabile). Il fatto è che quando crei una variabile in una funzione e il suo nome corrisponde al nome di una variabile al di fuori della funzione, allora qui possono esserci varie situazioni interessanti relative agli ambiti globali e locali della variabile.

Questo è esattamente ciò di cui ci occuperemo in questa lezione.

variabile globale

Le variabili globali sono tutte le variabili create al di fuori di una funzione. E assicurati di creare una variabile tramite la parola chiave var, se ciò non viene fatto, la variabile sarà visibile ovunque nel programma e inoltre, se è abilitata la modalità rigorosa, ciò causerà un errore. Per abilitare la modalità rigorosa, è sufficiente scrivere la riga "usa rigorosa" all'inizio del tuo script. Questo dirà all'interprete JavaScript di seguire rigorosamente lo standard JavaScript. Ecco un esempio che utilizza una variabile globale

Vara=6; //funzione variabile globale double() ( return alert(a*a); //uso della variabile globale ) double();

Nell'esempio viene dichiarata una variabile globale a, a cui viene assegnato il valore 6. Nella funzione, possiamo accedere a questa variabile e persino modificarne il valore, e questo valore cambierà ovunque.

Diamo un'occhiata a un esempio in cui il valore di una variabile globale viene modificato in una funzione, quindi accediamo alla variabile globale al di fuori della funzione e vediamo il valore che le è stato impostato nella funzione stessa.

Vara=6; function double() ( a = 5; //cambia il valore della variabile globale nella funzione return alert(a*a); ) double(a); //chiama la funzione document.write(a); //valore variabile globale

Come puoi vedere dall'esempio, se modifichi il valore di una variabile globale in una funzione, rimane già con essa ovunque, sia nella funzione che al di fuori di essa.

Variabile locale.

Quando dichiari una variabile in una funzione, diventa locale ed è possibile accedervi solo dall'interno della funzione. Vale la pena notare che le istruzioni if/else , for, while, do...while non influiscono sull'ambito delle variabili.

Quindi risulta che in una funzione puoi accedere a una variabile globale, ma globalmente al di fuori della funzione non puoi accedere a una variabile locale creata nel corpo della funzione. Considera un esempio.

Funzione double() ( var a =6; return alert(a*a); ) double(); document.write(a); //prova ad accedere alla variabile locale

Nell'esempio, la variabile non è dichiarata globalmente, ma è dichiarata nella funzione, cioè localmente. Quindi chiamiamo la funzione e proviamo ad accedere alla variabile locale, di conseguenza non accade nulla e nella console viene visualizzato un errore che indica che la variabile non è definita.

E l'ultima opzione è quando vengono create sia una variabile globale che una locale con lo stesso nome, cosa succederà allora. Osserviamo un esempio.

Vara=7; funzione double() ( var a =6; return alert(a*a); ) document.write(a);

Come puoi vedere, nella funzione viene creata un'altra variabile, nonostante il suo nome sia lo stesso di quello globale ed è la variabile locale che sarà disponibile nella funzione, non sarà in grado di sovrascrivere quella globale , che questo esempio mostra.

Quale conclusione si può trarre da tutto ciò. È come cercare di utilizzare variabili con nomi diversi sia all'interno che all'esterno della funzione. Ma è necessario conoscere gli ambiti locali e globali.

Risultati.

Una variabile creata al di fuori di una funzione è globale.

Da una funzione è possibile accedere a una variabile globale e modificarne il valore.

Tutte le variabili e le funzioni globali sono in realtà proprietà e metodi di un oggetto speciale chiamato oggetto globale.

L'oggetto globale è un oggetto regolare che viene creato automaticamente all'avvio dell'interprete.

In JavaScript, il ruolo dell'oggetto globale è svolto dall'oggetto Window. Questo oggetto ha una proprietà window che fa riferimento all'oggetto Window stesso. Anche l'oggetto Window è un oggetto globale e contiene inoltre numerose proprietà e metodi propri per lavorare con la finestra del browser.

Nel codice di primo livello, puoi anche fare riferimento a un oggetto globale utilizzando la parola chiave this:

Avviso(questa ===finestra); // VERO

Poiché le variabili globali sono proprietà di un oggetto globale, quando si lavora con una variabile globale, infatti, si lavora con le proprietà della finestra:

varnum = 10; avviso (finestra. numero); // 10

Invece di dichiarare una variabile con la parola chiave var, puoi creare una variabile impostando esplicitamente una nuova proprietà sull'oggetto Window:

finestra.num = 10; avviso(numero); // 10

Si noti che anche se le variabili globali sono in realtà proprietà dell'oggetto Window, è facoltativo precedere il nome della variabile:

varnum = 10; avviso(numero); // 10 alert(window.num); // 10. Uguale a alert(num);

Se una variabile globale viene dichiarata con la parola chiave var o let, viene creata una proprietà non configurabile, cioè una proprietà che non può essere cancellata usando l'operatore delete:

varnum = 10; alert(cancella numero); // false, variabile non rimossa

Se assegni un valore a una variabile non dichiarata, l'interprete JavaScript creerà automaticamente una variabile globale. Le variabili create in questo modo diventano proprietà ordinarie e personalizzate dell'oggetto globale, ovvero possono essere eliminate utilizzando l'operatore di eliminazione:

Num = 10; alert(cancella numero); // true, variabile rimossa

Metodi

MetodoDescrizione
decodeURI()Restituisce una stringa contenente l'URI decodificato.
decodeURIComponent()Restituisce una stringa contenente la parte decodificata dell'URI.
codificaURI()Restituisce una stringa contenente l'URI codificato.
codificaURIComponent()Restituisce una stringa contenente la parte codificata dell'URI.
valuta()La funzione eval() esegue il codice passato come stringa. Il codice passato a una funzione viene eseguito nell'ambito in cui è stata chiamata la funzione.
èFinito()Converte l'argomento in un numero (se necessario) e restituisce true se l'argomento contiene qualsiasi valore diverso da NaN, infinito positivo e infinito negativo. In questi tre casi restituisce false.
èNaN()Determina se l'argomento passato è NaN o meno.
parseFloat()Analizza l'argomento stringa e restituisce un numero in virgola mobile o NaN.
analisiInt()Analizza l'argomento stringa e restituisce un numero intero o NaN.

Se noti un errore, seleziona una parte di testo e premi Ctrl + Invio
CONDIVIDERE: