原文链接:https://javascript.info/alert-prompt-confirm,translate with ❤️ by zhangbao.

本教程的这一部分旨在覆盖 JavaScript“as is”,而不需要特定于环境的调整。

但是我们仍然使用浏览器作为演示环境。因此,我们至少应该知道一些用户界面函数。在这一章中,我们将熟悉浏览器函数 alert,prompt 和 confirm。

alert

语法:

  1. alert(message);

这显示了一条消息,并暂停了脚本的执行,直到用户按下“OK”。

例如:

  1. alert("Hello");

带有消息的迷你窗口称为模态窗口。“模态”这个词的意思是,访问者不能与页面的其他部分进行交互,按其他按钮等,直到他们处理完窗口。在这种情况下——直到他们按“OK”为止。

prompt

函数 prompt 接收两个参数:

  1. result = prompt(title[, default]);

它显示了一个带有文本消息的模态窗口,一个用于访问者的输入字段和按钮 ok/cancel。

title

给访客看的文本。

default

一个可选的第二个参数,输入字段的初始值。

访问者可以在提示输入栏中输入一些东西,然后按下 OK。或者,他们可以按取消按钮或按 Esc 键取消输入。

prompt 的调用返回该字段的文本,如果输入被取消的话就返回 null。

例如:

  1. let age = prompt('How old are you?', 100);
  2. alert(`You are ${age} years old!`); // You are 100 years old!

IE:总要提供 default 的哦

第二个参数是可选的。但是如果我们不提供它,Internet Explorer将把文本“undefined”插入到提示中。

在 Internet Explorer 中运行这段代码,看看:

  1. let test = prompt("Test");

因此,为了在 IE 中看起来很好,建议总是提供第二个参数:

  1. let test = prompt("Test", ''); // <-- for IE

confirm

语法:

  1. result = confirm(question);

函数确认显示了一个带有问题和两个按钮的模态窗口:OK和CANCEL。

如果按下 OK 则结果返回 true,否则返回 false。

例如:

  1. let isBoss = confirm("Are you the boss?");
  2. alert( isBoss ); // true if OK is pressed

总结

我们讨论了 3 个特定于浏览器的功能,以与访问者交互:

alert

展示一条信息。

prompt

显示一条消息,要求用户输入文本。它会返回用户输入的文本,或者如果单击了 CANCEL 或 Esc 的话,所有浏览器都会返回 null。

confirm

显示一条消息并等待用户按“OK”或“取消”。如果按下 OK 的话,就返回 true,如果是 CANCEL/Esc 的话,就返回 false 了。

所有这些方法都是模态的:它们暂停脚本的执行,并且不允许访问者与页面的其余部分进行交互,直到消息被解除。

上面的所有方法都有两个限制:

  1. 模态窗口的确切位置由浏览器决定,通常在中间。

  2. 窗口的精确外观也取决于浏览器。我们不能修改它。

这就是简单的代价。还有其他的方法可以显示更好的窗口和更丰富的与访问者的交互,但是如果“铃声和口哨”并不重要,这些方法就可以很好地工作。

(完)