? 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> |