Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

244
Vistas
¿Por qué un For Loop todavía funciona sin una inicialización adecuada?

Si omito el 'let' o 'var' de un javascript for-loop, todavía funciona. Entonces, en lugar de declarar "let i = 0" en el bucle y simplemente escribir "i = 0", todavía parece tener el mismo alcance y funciona de la misma manera. ¿Porqué es eso?

¿Cómo puede funcionar la parte "i++" sin saber de qué tipo es y sin saber su valor inicial?

Este código todavía se ejecuta correctamente:

 <p id="demo"></p> <p id="i"></p> <script> const cars = ["BMW", "Volvo", "Saab", "Ford", "Fiat", "Audi"]; let text = ""; let iter = ""; for (i = 0; i < cars.length; i++) { text += cars[i] + "<br>"; iter = i; } document.getElementById("demo").innerHTML = text; document.getElementById("i").innerHTML = iter; </script>```
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En JavaScript, si omite la palabra clave "var", "let" o "const" durante la inicialización de una variable, se inicializará como una variable GLOBAL.

Su variable "i" será visible fuera del bucle for. El bucle funciona, por supuesto, ya que se inicializó correctamente, pero tenga en cuenta todos los inconvenientes de declarar variables globales.

Solo para tener una mejor pista, puede intentar manipular esta variable "i" fuera del ciclo for, o simplemente usar un

 console.log(i)

En otras palabras, declarar una variable (llamémosla "índice") sin usar "var", "let" o "const" será equivalente a declararla como

 window.index = 0; //100% equivalent to index = 0;

EDITAR: una excepción que no mencioné es el caso de que use el "modo estricto" https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode

En este caso, arrojará una excepción como cabría esperar inicialmente. Para declarar variables en modo estricto, debe usar las palabras clave "let", "var" o "const".

Si usa el modo estricto, la única forma de declarar variables globales es a través de la ventana Objeto

 window.yourNewGlobalVariable = 'whatever' //works in strict mode yourNewGlobalVariable = 'whatever' // doesn't work in strict mode
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda