JavaScript中alert、prompt 和 confirm区别及使用【通俗易懂】

✨前言✨

  本篇文章主要在于,让我们看几个与用户交互的函数:alert,prompt 和confirm的使用及区别

🍒欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁

🍒博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言


📍文章目录📍

一,alert

alert函数接受一个字符串作为参数,这个字符串将作为消息显示在警告框中。

例如:

javascript 复制代码
alert("Hello");

弹出的这个带有信息的小窗口被称为 模态窗。 "modal" 意味着用户不能与页面的其他部分(例如点击其他按钮等)进行交互,直到他们处理完窗口。在上面示例这种情况下 ------ 直到用户点击"确定"按钮。


二,prompt

prompt 函数接收两个参数:

javascript 复制代码
result = prompt(title, [default]);

浏览器会显示一个带有文本消息的模态窗口,还有 input 框和确定/取消按钮。

title显示给用户的文本default 可选的第二个参数,指定 input 框的初始值。

语法中的方括号 ...

上述语法中 default 周围的方括号表示该参数是可选的,不是必需的。

访问者可以在提示输入栏中输入一些内容,然后按"确定"键。然后我们在 result 中获取该文本。或者他们可以按取消键或按 Esc 键取消输入,然后我们得到 null 作为 result

prompt 将返回用户在 input 框内输入的文本,如果用户取消了输入,则返回 null

举个例子:

javascript 复制代码
let age = prompt('How old are you?', 100);

alert(`You are ${age} years old!`); // You are 100 years old!

IE 浏览器会提供默认值

第二个参数是可选的。但是如果我们不提供的话,Internet Explorer 会把 "undefined" 插入到 prompt

我们可以在 Internet Explorer 中运行下面这行代码来看看效果:

javascript 复制代码
let test = prompt("Test");

所以,为了 prompt 在 IE 中有好的效果,我们建议始终提供第二个参数:

javascript 复制代码
let test = prompt("Test", ''); // <-- 用于 IE 浏览器

三,confirm

语法:

javascript 复制代码
result = confirm(question);

confirm 函数显示一个带有 question 以及确定和取消两个按钮的模态窗口。

点击确定返回 true ,点击取消返回 false

例如:

javascript 复制代码
let isBoss = confirm("Are you the boss?");

alert( isBoss ); // 如果"确定"按钮被按下,则显示 true

四,总结

我们学习了与用户交互的 3 个浏览器的特定函数:

alert 显示信息。prompt 显示信息要求用户输入文本。点击确定返回文本,点击取消或按下 Esc 键返回 null。confirm 显示信息等待用户点击确定或取消。点击确定返回 true ,点击取消或按下 Esc 键返回 false

这些方法都是模态的:它们暂停脚本的执行,并且不允许用户与该页面的其余部分进行交互,直到窗口被解除。

上述所有方法共有两个限制:

  1. 模态窗口的确切位置由浏览器决定。通常在页面中心。
  2. 窗口的确切外观也取决于浏览器。我们不能修改它。

这就是简单的代价。还有其他一些方法可以显示更漂亮的窗口,并与用户进行更丰富的交互,但如果"花里胡哨"不是非常重要,那使用本节讲的这些方法也挺好。


任务

创建一个简单的页面

重要程度: 4

创建一个要求用户输入 name,并通过浏览器窗口对键入的内容进行输出的 web 页面。

解决方案

JavaScript 代码:

javascript 复制代码
let name = prompt("What is your name?", "");
alert(name);

整个页面的代码:

javascript 复制代码
<!DOCTYPE html>
<html>
<body>

  <script>
    'use strict';

    let name = prompt("What is your name?", "");
    alert(name);
  </script>

</body>
</html>

✨最后✨

总结不易,希望uu们不要吝啬你们的👍哟(^U^)ノ~YO!!

如有问题,欢迎评论区批评指正😁

相关推荐
Mh6 小时前
别再只会 `find` 了:Map 在前端业务里的真实用法
前端·javascript
kyriewen10 小时前
别再这样写TypeScript了——Code Review中最常见的8个反模式
前端·javascript·typescript
名字还没想好☜10 小时前
Next.js ‘use client‘ 到底加在哪:Server/Client Components 边界与常见报错
开发语言·前端·javascript·react·next.js
海盗123411 小时前
微软技术周报 ——2026-08-03
后端·python·microsoft·c#·.netcore
飘尘12 小时前
一文讲清楚前端面试会问到的所有缓存
前端·javascript·面试
ThsPool12 小时前
【ENVI二次开发学习整理 04】ENVI功能扩展与二次开发
java·前端·javascript
张元清14 小时前
React useDisclosure Hook:管理模态框和抽屉的打开关闭状态 (2026)
javascript·react.js
天天码行空14 小时前
vkeyboardhand:零依赖虚拟键盘指法组件
前端·javascript·vue.js
我要两颗404西柚15 小时前
Stage four:VUE项目上线
前端·javascript·vue.js
枫叶v.15 小时前
Prompt Injection 防不住怎么办?从 Source-Sink 模型设计 Agent 安全边界
数据库·安全·prompt