在JavaScript中,可以使用alert()
、confirm()
和prompt()
函数来创建可选择的消息框。
-
alert()
:显示一个带有警告消息和一个确认按钮的对话框。
alert("这是一个警告框!");
-
confirm()
:显示一个带有指定消息和确认及取消按钮的对话框。用户可以选择一个选项。该对话框返回一个布尔值。
if (confirm("你确定吗?")) {
// 用户点击了确定
} else {
// 用户点击了取消
}
-
prompt()
:显示一个可提示用户输入的对话框。该对话框返回用户输入的字符串,如果用户取消,则返回null
。
var userInput = prompt("请输入您的名字", "Harry Potter");
if (userInput !== null) {
// 用户输入了数据
} else {
// 用户点击了取消
}
这些函数都是同步的,会阻塞线程直到用户做出响应。对于需要异步处理的场景,可以使用现代JavaScript的async/await
配合原生对话框函数的Promise版本:
-
window.alert window.confirm window.prompt
例如,使用
window.prompt
的异步版本:
async function getUserInput() {
try {
const userInput = await new Promise((resolve, reject) => {
const response = window.prompt("请输入您的名字");
if (response !== null) {
resolve(response);
} else {
reject("用户取消了输入");
}
});
console.log(userInput);
} catch (error) {
console.error(error);
}
}
getUserInput();
这样,你就可以使用async/await
来处理用户的输入,使得代码更加清晰和现代化。