JavaScript 弹窗
在浏览器中,可以用 alert()、confirm()、prompt() 三种方法弹出对话框,与用户进行最简单直接的交互。它们都属于 window 对象,分别用来提示信息、确认操作、收集输入,非常适合入门学习和简单的页面反馈。
三种弹窗对比
| 方法 | 作用 | 返回值 |
|---|---|---|
| alert() | 显示一条提示信息 | 无 |
| confirm() | 询问"确定 / 取消" | true 或 false |
| prompt() | 让用户输入一段文本 | 输入的字符串,或 null |
alert() 警告框
弹出一个带"确定"按钮的提示框,用户点击之后代码才会继续执行:
// 在浏览器控制台运行:弹出提示框并阻塞,直到点击"确定"
alert('欢迎学习 JavaScript!');
console.log('点击确定后才会打印本行'); // 输出:点击确定后才会打印本行
confirm() 确认框
带"确定 / 取消"两个按钮,用于需要用户拍板的操作,例如删除前确认:
var sure = confirm('确定要删除这条记录吗?');
console.log(sure); // 点确定输出:true;点取消输出:false
if (sure) {
console.log('开始删除……'); // 输出:开始删除……
} else {
console.log('已取消删除');
}
prompt() 提示框
弹出一个带输入框的对话框,第二个参数是输入框的默认值:
var name = prompt('请输入你的名字:', '张三');
console.log(name); // 直接回车输出:张三;输入"李四"则输出:李四
if (name === null) {
console.log('用户点了取消'); // 点取消时 prompt 返回 null
}
使用注意事项
- 三种弹窗都会阻塞页面脚本执行,弹得太多体验很差,正式项目应尽量少用,改用页面内的弹层组件。
- 部分浏览器会拦截连续弹出的对话框,并提示"阻止此页面创建更多对话框"。
- prompt() 返回的一律是字符串,需要当数字使用时,先用 Number() 或 parseFloat() 转换,再参与运算与比较。
小结:alert / confirm / prompt 是浏览器提供的最简单交互手段,适合测试与教学。生产环境中建议用 HTML + CSS 自制模态框,把交互从系统对话框转移到页面上。