Entonces, estoy haciendo una entrada de usuario con un mensaje y he hecho una declaración if donde si el mensaje estaba vacío, devolvería el cuadro de alerta con una advertencia. El problema es cuando presiono ok en la alerta. Me pone directamente en la aplicación. aquí está mi código.
function getName(){ var username = prompt("Write your username"); if(username == ""){ alert("Please write your username"); } else{ return username; } }Por favor, debe usar if (! nombre de usuario).
Porque el indicador puede devolver undefined/null en lugar de una cadena vacía.
Cuando hago clic en "Aceptar" en el mensaje sin ingresar ningún texto, recibo una alerta con "Escriba su nombre de usuario", por lo que parece que el código funciona.
Vale la pena señalar que está buscando una cadena vacía, pero también debe buscar null .
Cuando el usuario hace clic en el botón Aceptar, se devuelve el texto ingresado en el campo de entrada. Si el usuario hace clic en Aceptar sin ingresar ningún texto, se devuelve una cadena vacía. Si el usuario hace clic en el botón Cancelar, esta función devuelve nulo.
https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt#return_value
Es posible que también desee tener en cuenta el hecho de que algunas versiones anteriores de IE devuelven undefined , aunque no conozco a nadie que actualmente admita IE.
Tenga en cuenta que en Internet Explorer 7 y 8, si no proporciona este parámetro [predeterminado], la cadena "indefinido" es el valor predeterminado. https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt#parameters
Puede verificar la veracidad en una expresión con:
if(!username){ // do stuff... }Esto buscará una cadena vacía, indefinida, nula, 0, falsa y NaN.
Vea esta publicación:¿Qué significa esto: si (variable) { /* hacer algo */ }