JavaScript prompt() 语法
prompt() 是 JavaScript 的一个全局函数(即 window 对象的方法),它用于弹出一个带有输入框的对话框。
语法:
prompt(message, defaultValue)说明:
prompt() 方法接收以下 2 个参数。
message(可选):提示文本。defaultValue(可选):输入框中的默认文本。
prompt() 是 window 对象的方法,在使用时是可以省略 window 前缀。下面 2 种写法是等价的。
// 写法1
prompt("Hello");
// 写法2
window.prompt("Hello");注意:
- prompt() 是 window 对象的方法,它只能在浏览器环境中使用,而不能在 Node.js 环境中使用。这是因为 Node.js 是没有 window 对象的。
- prompt() 执行之后,会阻塞后续程序的执行,除非我们手动关闭它。
JavaScript prompt() 摘要
| 属于 | JavaScript window 对象 |
|---|---|
| 使用频率 | 低 |
| 官方文档 | 查看 |
| MDN | 查看 |
JavaScript prompt() 示例
接下来,我们通过一个简单的例子来讲解一下 JavaScript prompt() 方法是如何使用的。
示例:prompt() 基本用法
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<button id="btn" type="button">登录</button>
<script>
const oBtn = document.getElementById("btn");
oBtn.addEventListener("click", function() {
const name = prompt("请输入你的名字:");
// 判断用户是否点击了取消
if (name !== null) {
console.log(`欢迎${name}来到绿叶网!`);
} else {
console.log("用户取消了输入");
}
});
</script>
</body>
</html>默认情况下,页面效果如下图所示。单击【登录】按钮之后,会弹出一个对话框,如下图所示。


分析:
如果在对话框中输入 “Jack”,接着单击【确定】按钮,之后会输出以下内容:
欢迎Jack来到绿叶网!alert()、confirm() 与 prompt() 的区别
alert()、confirm() 和 prompt() 这 3 个都可以用于定义一个对话框,它们之间的区别如下。
alert():仅提示文本。confirm():带提示文本和确认按钮,返回一个布尔值。prompt():带提示文本和输入框,返回一个字符串。
这 3 种对话框在实际开发中经常用到,不过大多数情况下不会采用浏览器默认的对话框,因为这些默认对话框外观真的是太丑了。为了更好的用户体验,我们都倾向于使用 div 元素来模拟出来,并且结合 CSS3、JavaScript 等来实现酷炫的动画效果。
下面就是使用 div 元素模拟出来的对话框,简约扁平,并且还带有各种 3D 动画,用户体验非常好。不过这种效果实现起来比较复杂,小伙伴们可以自行搜一下 “CSS 模拟对话框”。



