prompt是window对象方法,用于弹出文本输入对话框,返回用户输入字符串、null或空字符串;需判空处理,但存在移动端体验差、样式不可控、部分浏览器限制等问题,建议用自定义模态框替代。

prompt 是 BOM(浏览器对象模型)中 window 对象提供的一个方法,用于弹出对话框,提示用户输入文本内容。它会暂停 JavaScript 执行,等待用户点击“确定”或“取消”。
prompt 的基本用法
调用 prompt() 时传入提示文字,它会返回用户输入的字符串;如果用户点击“取消”或直接关闭对话框,则返回 null;如果用户没输入直接点“确定”,则返回空字符串 ""。
let input = prompt("请输入您的姓名:");- 该语句会显示一个带输入框的弹窗,标题为“请输入您的姓名:”
- 用户输入后点击“确定”,
input变量保存输入的字符串 - 点击“取消”,
input值为null,需注意判空处理
获取输入后做简单判断和使用
实际使用中建议检查返回值是否为 null 或空字符串,避免后续操作出错。
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
const name = prompt("请输入姓名");if (name !== null && name.trim() !== "") { console.log("欢迎:" + name); }else { console.log("用户未输入或已取消"); }
注意 prompt 的局限性和兼容性
现代浏览器对 prompt 支持良好,但它在移动端体验差、易被拦截,且不符合现代 UI 设计规范。很多网站已改用自定义模态框替代。
- 不能设置输入框类型(如密码、数字),只能输入纯文本
- 无法控制样式、位置或大小,完全由浏览器决定
- 部分浏览器(如 iOS Safari)可能禁用或限制其触发,尤其在非用户手势(如 onload)中调用
- 在 HTTPS 页面中更可靠,HTTP 页面下某些浏览器会降级或屏蔽
替代方案建议
若需更好体验或更多功能,推荐用 HTML 表单 + 模态框实现:
- 创建一个
<div> 作为遮罩层和输入框容器 <li>用 <code>document.getElementById().value获取输入值 - 配合事件监听(如点击“确认”按钮)来模拟 prompt 行为
- 可支持验证、焦点管理、键盘回车提交等增强功能










