Benutzereingaben in JavaScript abrufen

Shiv Yadav 12 Oktober 2023
  1. Abrufen von Benutzereingaben von der Browser-Konsole
  2. Abrufen von Benutzereingaben von der NodeJS-Konsole
  3. Abrufen von Benutzereingaben von NodeJS mit dem Modul prompt-sync
Benutzereingaben in JavaScript abrufen

In diesem Artikel erfahren Sie, wie Sie Benutzereingaben in JavaScript erhalten.

Es gibt zwei Möglichkeiten, Benutzereingaben in JavaScript zu erhalten, je nachdem, ob Sie Eingaben vom Browser oder von NodeJS wünschen. Dieser Leitfaden hilft Ihnen, beides zu lernen.

Abrufen von Benutzereingaben von der Browser-Konsole

Um Benutzereingaben vom Browser anzufordern, müssen Sie die vom Browser bereitgestellte Methode prompt() verwenden. Mit der Methode können Sie Benutzereingaben als Zeichenfolge akzeptieren und wie folgt in einer Variablen speichern:

const input = prompt();

Diese Methode akzeptiert auch eine Zeichenfolge als zusätzliche Information, um zu wissen, welche Eingabe die Anwendung erwartet.

Beispielsweise ist der folgende Code zur Eingabe eines Benutzernamens unten geschrieben:

const input = prompt('What\'s your name?');
alert(`Your name is ${input}`);

Die Methode alert() zeigt das Ergebnis. Sie können den Zeilentext je nach Anforderung als Frage oder Hinweis gestalten.

Abrufen von Benutzereingaben von der NodeJS-Konsole

Um Benutzereingaben von der NodeJS-Konsole zu akzeptieren, müssen Sie das bereitgestellte readline-Modul verwenden.

Sie können die folgenden Befehle wie require() aus dem Modul wie unten gezeigt verwenden:

const readline = require('readline');

Dann müssen Sie die an den Eingabestream angehängte Schnittstelle instanziieren. Verwenden Sie die Methode readline.createInterface(), um eine Schnittstelle zu erstellen und Eingabe- und Ausgabeparameter als Objektargumente zu übergeben.

Das Schreiben von Eingaben und Ausgaben erfordert das Schreiben von Eingaben in process.stdin und Ausgaben in process.stdout.

Hier ist ein Beispiel für die Erstellung einer readline-Schnittstelle.

const readline = require('readline');

const ql = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

Die Methode question() muss auf der Schnittstelleninstanz aufgerufen werden, die der Variablen q1 im obigen Code zugewiesen ist, um Benutzereingaben anzufordern.

Die Methode question() nimmt zwei Parameter entgegen.

  • Zeichenkettenfrage, die Sie dem Benutzer stellen möchten.
  • Eine Callback-Funktion, die ausgeführt wird, wenn eine Antwort empfangen und die Antwort an die Funktion übergeben wird

Sie können das Parameterobjekt überspringen und die Callback-Funktion als zweiten Parameter übergeben.

Schließlich können Sie die Schnittstelle q1 schließen, indem Sie die Methode q1.close() innerhalb der Callback-Funktion aufrufen.

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();
});

Abrufen von Benutzereingaben von NodeJS mit dem Modul prompt-sync

Zuerst müssen Sie das Modul prompt-sync mit NPM oder Yarn wie folgt installieren:

npm install prompt-sync
or
yarn add prompt-sync

Dann benötigen Sie das Modul require() bis prompt-sync.

Sehen Sie sich den Code unten an.

pm.js:

const prompt = require('prompt-sync')();
const input = prompt('Where do you live? ');

console.log(`Oh, so you live in ${input}`);

Da diese Methode synchron ist, wartet die Node-Instanz auf eine Eingabe, bevor sie die nächste Zeile ausführt.

Autor: 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

Verwandter Artikel - JavaScript Event

Verwandter Artikel - JavaScript Input