JavaScript prompt() 函数

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>

默认情况下,页面效果如下图所示。单击【登录】按钮之后,会弹出一个对话框,如下图所示。

prompt() 示例效果1

prompt() 示例效果2

分析:

如果在对话框中输入 “Jack”,接着单击【确定】按钮,之后会输出以下内容:

欢迎Jack来到绿叶网!

alert()、confirm() 与 prompt() 的区别

alert()confirm() 和 prompt() 这 3 个都可以用于定义一个对话框,它们之间的区别如下。

  • alert():仅提示文本。
  • confirm():带提示文本和确认按钮,返回一个布尔值。
  • prompt():带提示文本和输入框,返回一个字符串。

这 3 种对话框在实际开发中经常用到,不过大多数情况下不会采用浏览器默认的对话框,因为这些默认对话框外观真的是太丑了。为了更好的用户体验,我们都倾向于使用 div 元素来模拟出来,并且结合 CSS3、JavaScript 等来实现酷炫的动画效果。

下面就是使用 div 元素模拟出来的对话框,简约扁平,并且还带有各种 3D 动画,用户体验非常好。不过这种效果实现起来比较复杂,小伙伴们可以自行搜一下 “CSS 模拟对话框”。

模拟 alert() 的组件效果

模拟 confirm() 的组件效果

模拟 prompt() 的组件效果

上一篇: confirm()

下一篇: JavaScript Object 对象

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号