Tipos de ventanas emergentes (pop up)

Son ventanas de diálogo que aparecen por encima del navegador.

alert()

Un mensaje de texto y un botón de aceptar.

confirm()

Una pregunta que se puede responder pulsando el botón de Aceptar o de Cancelar.

Esta función retorna un boolean.

prompt()

Pide un dato al usuario. Hay 2 botones: Aceptar y Cancelar.

El botón Aceptar retorna lo que ha escrito el usuario en un string.

El botón Cancelar retorna un valor especial undefined (indefinido).

Ejemplo largo

var nombre = prompt("Dime tu nombre");

if (nombre == undefined) {
    alert('Lo has cancelado');
} else if (nombre == '') {
    alert('No has escrito nada');
} else if (nombre.trim() == '') {
    alert('Solo has puesto espacios');
} else if (nombre.length == 1) {
    alert('Sólo has puesto una letra');
} else {
    alert('Te llamas ' + nombre);
}

Ejemplo corto

var nombre = prompt("Dime tu nombre");

/*
    El operador ternario (?:) tiene 3 partes: la condición, cuando es sí y cuando es no.

    Sustituimos el undefined por ""
    y quitamos espacios en blanco sobrantes si se pulsó aceptar.
*/
nombre = nombre == undefined ? "" :
    nombre.trim();

if (nombre.length > 1) {
    alert('Te llamas ' + nombre);
}

Proinf.net