JavaScript Scope







? L?ambito determina l?accessibilit? (visibilit?) delle variabili
? In JavaScript ci sono due tipi di scope:
? Ambito locale
? Ambito globale
? JavaScript ha un ambito di funzioni: ogni funzione crea un nuovo ambito.
? L?ambito determina l?accessibilit? (visibilit?) di queste variabili.
? Le variabili definite all?interno di una funzione non sono accessibili (visibili) dall?esterno della funzione.
? Variabili JavaScript locali
? Le variabili dichiarate all?interno di una funzione JavaScript, diventano LOCALI per la funzione.
? Le variabili locali hanno scope di funzioni : sono accessibili solo dalla funzione. (LOCALE)

https://www.w3schools.com/js/tryit.asp?filename=tryjs_scope_local

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Scope</h2>

<p>Outside myFunction() carName is undefined.</p>

<p id="demo1"></p>

<p id="demo2"></p>

<script>
myFunction();

function myFunction() {
var carName = "Volvo";
document.getElementById("demo1").innerHTML = typeof carName + " " + carName;
}
document.getElementById("demo2").innerHTML = typeof carName;
</script>

</body>
</html>


? Poich? le variabili locali sono riconosciute solo all?interno delle loro funzioni, ? possibile utilizzare variabili con lo stesso nome in diverse funzioni.
? Le variabili locali vengono create all?avvio di una funzione e cancellate quando la funzione ? completata.
? Variabili JavaScript globali
? Una variabile dichiarata all?esterno di una funzione diventa GLOBAL .
? Una variabile globale ha portata globale : tutti gli script e le funzioni su una pagina web possono accedervi.
https://www.w3schools.com/js/tryit.asp?filename=tryjs_scope_global

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Scope</h2>

<p>A GLOBAL variable can be accessed from any script or function.</p>

<p id="demo"></p>

<script>
var carName = "Volvo";
myFunction();

function myFunction() {
document.getElementById("demo").innerHTML = "I can display " + carName;
}
</script>

</body>
</html>

? Automaticamente globale
? Se assegni un valore a una variabile che non ? stata dichiarata, diventer? automaticamente una variabile GLOBAL .
? Questo esempio di codice dichiarer? una variabile globale carName, anche se il valore ? assegnato all?interno di una funzione.

https://www.w3schools.com/js/tryit.asp?filename=tryjs_local_global

<!DOCTYPE html>
<html>
<body>

<p>If you assign a value to a variable that has not been declared, it will automatically become a GLOBAL variable:</p>

<p id="demo"></p>

<script>
myFunction();
// code here can use carName as a global variable
document.getElementById("demo").innerHTML = "I can display " + carName;
function myFunction() {
carName = "Volvo";
}
</script>

</body>
</html>

? Variabili globali in HTML
? Con JavaScript, l?ambito globale ? l?ambiente JavaScript completo.
? In HTML, l?ambito globale ? l?oggetto finestra. Tutte le variabili globali appartengono all?oggetto della finestra.
? Esempio
? var carName = "Volvo";


<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Scope</h2>

<p>In HTML, le variabili globali definite con <b>var</b>, diventeranno variabili della finestra.</p>

<p id="demo"></p>

<script>
var carName = "Volvo";

// code here can use window.carName
document.getElementById("demo").innerHTML = "I can display " + window.carName;
</script>

</body>
</html>













( javascriptscope.html )- by Paolo Puglisi - Modifica del 17/12/2023