? ? il comportamento predefinito di JavaScript delle dichiarazioni in movimento verso l?alto. ? Le dichiarazioni JavaScript sono state issate ?In JavaScript, una variabile pu? essere dichiarata dopo che ? stata utilizzata. ? In altre parole; una variabile pu? essere utilizzata prima che sia stata dichiarata. https://www.w3schools.com/js/tryit.asp?filename=tryjs_hoisting1 <!DOCTYPE html> <html> <body> <p id="demo"></p> <script> x = 10; // Assign 5 to x elem = document.getElementById("demo"); // Find an element elem.innerHTML = x; // Display x in the element var x; // Declare x </script> </body> </html> https://www.w3schools.com/js/tryit.asp?filename=tryjs_hoisting2 <!DOCTYPE html> <html> <body> <p id="demo"></p> <script> var x; // Declare x x = 5; // Assign 5 to x elem = document.getElementById("demo"); // Find an element elem.innerHTML = x; // Display x in the element </script> </body> </html> ? Per capire questo, devi capire il termine "sollevamento". ? Il sollevamento ? il comportamento predefinito di JavaScript di spostare tutte le dichiarazioni nella parte superiore dell?ambito corrente (all?inizio dello script corrente o della funzione corrente). ? Le parole chiave let e const ? Variabili e costanti dichiarate con leto constnon issate! ? Ulteriori informazioni su let e const in JS Let / Const . ? Inizializzazioni JavaScript non sono state sollevate ? JavaScript solleva solo dichiarazioni, non inizializzazioni. https://www.w3schools.com/js/tryit.asp?filename=tryjs_hoisting4 <!DOCTYPE html> <html> <body> <p id="demo"></p> <script> var x = 5; // Initialize x var y = 7; // Initialize y elem = document.getElementById("demo"); // Find an element elem.innerHTML = x + " " + y; // Display x and y </script> </body> </html> ? Questo genera errore https://www.w3schools.com/js/tryit.asp?filename=tryjs_hoisting3 <!DOCTYPE html> <html> <body> <p id="demo"></p> <script> var x = 5; // Initialize x elem = document.getElementById("demo"); // Find an element elem.innerHTML = "x is " + x + " and y is " + y; // Display x and y var y = 7; // Initialize y </script> </body> </html> |