在 JavaScript 中获取用户输入
本文将帮助你了解如何在 JavaScript 中获取用户输入。
有两种方法可以在 JavaScript 中获取用户输入,具体取决于你是要从浏览器还是 NodeJS 输入。本指南将帮助你学习两者。
从浏览器控制台获取用户输入
要要求来自浏览器的用户输入,你必须使用浏览器提供的 prompt()
方法。该方法允许你接受用户输入作为字符串并将其存储在变量中,如下所示:
const input = prompt();
此方法还接受一个字符串作为附加信息,以了解应用程序需要什么输入。
例如,提示输入用户名的以下代码如下所示:
const input = prompt("What's your name?");
alert(`Your name is ${input}`);
alert()
方法显示结果。你可以根据你的要求将行文本设置为问题或提示。
从 NodeJS 控制台获取用户输入
要接受来自 NodeJS 控制台的用户输入,你必须使用提供的 readline
模块。
你可以从模块中使用以下命令,例如 require()
,如下所示:
const readline = require("readline");
然后你需要实例化附加到输入流的接口。使用 readline.createInterface()
方法创建接口并将输入和输出参数作为对象参数传递。
编写输入和输出需要将输入写入 process.stdin
并输出到 process.stdout
。
这是创建 readline
接口的示例。
const readline = require("readline");
const ql = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
必须在上面代码中分配给 q1
变量的接口实例上调用 question()
方法以请求用户输入。
question()
方法有两个参数。
- 你想问用户的字符串问题。
- 收到响应并将响应传递给函数时要执行的回调函数
你可以跳过参数对象并将回调函数作为第二个参数传递。
最后,你可以通过在回调函数中调用 q1.close()
方法来关闭 q1
接口。
arr.js
:
const readline = require("readline");
const q1 = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
q1.question("Where do you live? ", function (answer) {
console.log(`Oh, so you live in ${answer}`);
console.log("Interface Closed");
q1.close();
});
使用 prompt-sync
模块从 NodeJS 获取用户输入
首先,你需要使用 NPM 或 Yarn 安装 prompt-sync
模块,如下所示:
npm install prompt-sync
or
yarn add prompt-sync
然后,你需要 require()
到 prompt-sync
模块。
看看下面的代码。
pm.js
:
const prompt = require("prompt-sync")();
const input = prompt("Where do you live? ");
console.log(`Oh, so you live in ${input}`);
因为此方法是同步的,所以 Node 实例在执行下一行之前等待输入。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。