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

159
Visualizações
El valor de la variable sigue volviendo a JavaScript nulo

Estoy trabajando con el siguiente código para hacer un generador de contraseñas simple. El problema al que me enfrento es que cuando se ejecuta la función passwordLength y no se da ninguna respuesta, pasa por el proceso dado, incluida la alerta: "Valor incorrecto. Elija un número entre 8 y 128". Siguiendo ese mensaje, la función se vuelve a ejecutar. Sin embargo, cuando vuelvo a ingresar mi valor (esta vez con un valor correcto). Pasa a "return lengthInput", pero no devuelve el valor que acabo de ingresar. Devuelve el valor que se generó en el primer bucle. En este caso, eso sería nulo. ¿Cómo hago para que devuelva el valor que acabo de escribir en lugar de enviar el valor que se ejecutó previamente a través del bucle?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Siempre debe crear un fragmento SO para presentar su problema real. En su caso, olvidó almacenar el valor devuelto de la llamada recursiva en la variable lengthInput :

 const passwordLength = function() { var lengthInput = window.prompt("How long do you want your password to be? Please choose a number between 8 and 128."); if (lengthInput < 8 || lengthInput > 128) { window.alert("Incorrect value. Please choose a number between 8 and 128."); lengthInput=passwordLength(); } return lengthInput; }; console.log(passwordLength())

El código de este fragmento sigue siendo demasiado complicado, ya que entrará innecesariamente en una recursión. Pero al menos utilizará el último valor "legal" para lengthInput .

Una solución más simple a su problema podría ser:

 const passwordLength = function() { var lengthInput; while ((lengthInput = window.prompt("How long do you want your password to be? Please choose a number between 8 and 128.")), lengthInput < 8 || lengthInput > 128) window.alert("Incorrect value. Please choose a number between 8 and 128."); return lengthInput; }; console.log(passwordLength())

O incluso:

 const passwordLength = function() { do var lengthInput = window.prompt("How long do you want your password to be? Please choose a number between 8 and 128."); while (lengthInput < 8 || lengthInput > 128) return lengthInput; }; console.log(passwordLength())

about 4 years ago · Juan Pablo Isaza Relatório
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