Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

224
Visualizações
Problemas para entender el uso de let en un contexto de bucle

Esto no es un problema de programación, es solo una pregunta sobre un tema con alcances en JavaScript que me gustaría entender mejor.

El siguiente código recorre una serie de elementos de clase y hace clic en ellos a intervalos aleatorios de entre 250 y 750 ms. Un código muy básico pero lo curioso (y lo más difícil de entender para mí es el uso de la declaración let para la variable i en el bucle for.

 var x2 = document.querySelectorAll(".someClass"); for (let i=0; i < 35; i++){ setTimeout(function(){ x2[i].click(); }, i*(Math.random()*(750-250) + 250)); }

Sin let , es decir, si hubiera usado var en lugar de let (y esto en la declaración del ciclo, fuera del ciclo o globalmente), el elemento x[2] no estaría definido. Si creo un nuevo alcance dentro del ciclo, este código no funcionará como se esperaba. En lugar de hacer clic en el elemento x2[i] con un retraso aleatorio 35 veces, primero esperaría el retraso aleatorio y luego haría clic en todos los elementos a la vez.

Pero, hasta donde yo sé, la declaración let solo significa que la variable i tendría un alcance limitado para el ciclo for . ¿Por qué usar var lo haría indefinido? Y, si envuelvo la llamada en otra función anónima para crear un alcance, lo cual es contrario a la intuición, el resultado sería un comportamiento completamente defectuoso. ¿Cómo es posible todo esto? ¿Es esa una bandera de diseño en JavaScript o es un hecho común en muchos otros lenguajes de programación?

¿Me estoy perdiendo algo?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda