在 JavaScript 中获取用户输入

Shiv Yadav 2023年10月12日
  1. 从浏览器控制台获取用户输入
  2. 从 NodeJS 控制台获取用户输入
  3. 使用 prompt-sync 模块从 NodeJS 获取用户输入
在 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 实例在执行下一行之前等待输入。

作者: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn

相关文章 - JavaScript Event

相关文章 - JavaScript Input