Scope JavaScript

L'ambito è il set delle variabili a cui hai accesso.

ambito di funzione JavaScript

In JavaScript ci sono due tipi di ambito:

  • ambito locale
  • ambito globale

JavaScript ha un ambito di funzione: ogni funzione crea un nuovo ambito.

L'ambito determina l'accessibilità (visibilità) di queste variabili.

Le variabili definite all'interno della funzione non sono accessibili dall'esterno della funzione (non visibili).

variabile JavaScript locale

Le variabili dichiarate all'interno di una funzione JavaScript diventanovariabile locale

L'ambito delle variabili locali èlocale:Sono accessibili solo all'interno della funzione.

Esempio

// Il codice in questo punto non può utilizzare la variabile carName
function myFunction() {
    var carName = "porsche";
    // Il codice in questo punto può utilizzare la variabile carName
}

Prova tu stesso

Poiché le variabili locali possono essere riconosciute solo all'interno della funzione, è possibile utilizzare variabili con lo stesso nome in diverse funzioni.

Le variabili locali vengono create all'inizio della funzione e eliminate quando la funzione viene completata.

variabile JavaScript globale

Le variabili dichiarate al di fuori delle funzioni diventanovariabile globale

L'ambito delle variabili globali èglobale:Tutti gli script e le funzioni della pagina web possono accedervi.

Esempio

var carName = "porsche";
// Il codice in questo punto può utilizzare la variabile carName
function myFunction() {
    // Il codice in questo punto può utilizzare la variabile carName
}

Prova tu stesso

Variabili JavaScript

In JavaScript, gli oggetti e le funzioni sono anche variabili.

L'ambito determina l'accessibilità delle variabili, degli oggetti e delle funzioni da parti diverse del codice.

globale automatica

Se assegni un valore a una variabile non dichiarata, questa diventerà automaticamenteglobalevariabile.

Questo codice dichiarerà una variabile globale carName, anche se viene assegnato un valore all'interno della funzione.

Esempio

myFunction();
// Il codice in questo punto può utilizzare la variabile carName
function myFunction() {
    carName = "porsche";
}

Prova tu stesso

Modalità strict

Tutti i browser moderni supportano l'esecuzione di JavaScript in modalità strict.

Imparerai di più su come utilizzare la modalità strict nelle sezioni successive di questo tutorial.

Non vengono creati automaticamente variabili globali nel "modalità strict".

Variabili globali in HTML

Attraverso JavaScript, l'ambito globale forma un ambiente JavaScript completo.

In HTML, l'ambito globale è window. Tutte le variabili globali appartengono all'oggetto window.

Esempio

var carName = "porsche";
// Il codice in questo punto può utilizzare window.carName

Prova tu stesso

Attenzione

Non creare variabili globali a meno che non sia intenzionale.

Le tue variabili globali (o funzioni) possono sovrascrivere le variabili (o funzioni) di window.

Qualsiasi funzione, inclusi gli oggetti window, può sovrascrivere le variabili e le funzioni globali.

Durata della validità delle variabili JavaScript

La durata della validità delle variabili JavaScript inizia quando vengono create.

Le variabili locali vengono eliminate quando la funzione viene completata.

Le variabili globali vengono eliminate quando chiudi la pagina.

Parametri delle funzioni

I parametri delle funzioni sono anche variabili locali all'interno della funzione.