Declaración var
La declaración de variables con var en un script crea una variable global a toda la página. Si se declara dentro de una función, sin embargo, su ámbito es solamente esa función.
<script> var p=document.getElementById("resultado"); p.innerHTML="Puedo obtener el valor de la variable global aquí="+global; function ambitolocal(){ var global=5; var local = 5; p.innerHTML="Pero si la declaro dentro de una función su valor es el local="+global; } //Abra la consola de JavaScript del navegador para ver qué sucede p.innerHTML=p.innerHTML+"Pero si quiero usar una variable local fuera me da un error="+local;//ReferenceError </script>
Declaración let
y const
La declaración con let
y const
tiene ámbito solamente del bloque en el que se declara, por lo que no entran en conflicto con variables llamadas iguales en diferentes declaraciones <script>.
Mira la consola del navegador los mensajes que se envían
<script> if (true) { var dentrodeif = 25; } //A pesar de estar declarada dentro del if, si ámbito es global ya no es una función console.log("var dentrodeif=" + dentrodeif); if (true) { let letdentrodeif = 25; } //Ahora esto da un error porque con let el ámbito es el bloque console.log("let letdentrodeif=" + letdentrodeif);//ReferenceError try{ console.log("let letdentrodeif=" + letdentrodeif);//ReferenceError }catch(e){//El ReferenceError es capturado y permite que se sigua ejecutando este script console.log("El catch captura el error"); } if (true) { const constante = 25; console.log("Dentro de bloque -> const constante=" + constante);//ReferenceError } //Igual que con let con let el ámbito es el bloque console.log("const constante=" + constante);//ReferenceError </script>
Inicio