Làm cách nào để lấy đầu vào của người dùng trong JavaScript?

Nút. js cho phép bạn chạy mã JavaScript bên ngoài cửa sổ trình duyệt, cung cấp các công cụ mạnh mẽ để tương tác với hệ thống tệp máy tính, chạy máy chủ web và tạo ứng dụng đầu cuối. Nút xử lý các tác vụ này bằng cách chạy không đồng bộ, điều đó có nghĩa là việc đọc đầu vào của người dùng từ thiết bị đầu cuối không đơn giản như gọi hàm getInput[]. Trong bài viết này, chúng tôi sẽ chỉ cho bạn một cách dễ dàng để giải quyết vấn đề đó [và một số mẹo và thủ thuật để xử lý đầu vào của người dùng] bằng cách sử dụng mô-đun Node hữu ích

Làm việc với đầu vào

Nút. js cung cấp một số cách để xử lý các tương tác, bao gồm đối tượng process tích hợp sẵn và mô-đun readline. Mặc dù đây là những công cụ mạnh mẽ, nhưng chúng dựa vào các chức năng gọi lại và có thể gây nhầm lẫn khi làm việc lúc đầu

const readline = require['readline'].createInterface[{

readline.question['Who are you?', name => {

console.log[`Hey there ${name}!`];

Chạy mã này trong Node, bạn sẽ thấy

Sau đó, bạn có thể nhập thông tin đầu vào của mình dựa trên lời nhắc và xem phản hồi

Điều này hoạt động như dự định, nhưng nó có rất nhiều bản soạn sẵn và bạn cần gọi readline.question[] và tạo hàm gọi lại mỗi khi bạn muốn sử dụng nó cho đầu vào. Có một cách đơn giản hơn, cho dù bạn mới bắt đầu phát triển JavaScript hay chỉ muốn chạy một tập lệnh tương tác càng nhanh càng tốt

Sử dụng

const prompt = require['prompt-sync'][];

0

Mô-đun nút

const prompt = require['prompt-sync'][];

0 cung cấp một giải pháp thay thế dễ sử dụng cho cú pháp dựa trên gọi lại này

  1. Đảm bảo bạn đã cài đặt Node và NPM
  2. Chạy

    const prompt = require['prompt-sync'][];

    2 trong thiết bị đầu cuối

const prompt = require['prompt-sync'][];

Lưu ý thêm

const prompt = require['prompt-sync'][];

3 sau

const prompt = require['prompt-sync'][];

4. Mô-đun

const prompt = require['prompt-sync'][];

0 là một chức năng tạo các chức năng nhắc nhở, vì vậy bạn cần gọi

const prompt = require['prompt-sync'][];

0 để có được chức năng nhắc nhở thực sự của mình

Khi bạn đã tải mô-đun

const prompt = require['prompt-sync'][];

0 và gọi nó, việc sử dụng nó để truy xuất dữ liệu nhập của người dùng tương đối đơn giản

const prompt = require['prompt-sync'][];

const name = prompt['What is your name?'];

console.log[`Hey there ${name}`];

Hàm

const prompt = require['prompt-sync'][];

8 trả về phản hồi của người dùng, vì vậy, chỉ cần lưu trữ giá trị trả về đó vào một biến để sử dụng sau này. Trong ví dụ trên, biến

const prompt = require['prompt-sync'][];

9 lưu trữ giá trị và sau đó nó được lặp lại cho người dùng ở dòng tiếp theo

Cho phép người dùng thoát

Theo mặc định, hầu hết các chương trình đầu cuối sẽ thoát bằng Ctrl + C [Thao tác này sẽ gửi thông báo , hoặc “tín hiệu ngắt” cho biết người dùng muốn thoát khỏi chương trình]. Với

const prompt = require['prompt-sync'][];

0, để đảm bảo rằng người dùng của bạn có thể thoát ra theo ý muốn, hãy thêm một đối tượng cấu hình với

const prompt = require['prompt-sync'][];

const name = prompt['What is your name?'];

console.log[`Hey there ${name}`];

2 khi gọi hàm

const prompt = require['prompt-sync'][];

0

const prompt = require['prompt-sync'][{sigint: true}];

Làm việc với các con số

Tất cả đầu vào của người dùng sẽ được đọc dưới dạng Chuỗi, vì vậy để coi đầu vào của người dùng là số, bạn sẽ cần chuyển đổi đầu vào

Để yêu cầu người dùng nhập dữ liệu từ trình duyệt, bạn cần sử dụng phương pháp

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
1 do trình duyệt cung cấp

Phương thức

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
1 cho phép bạn chấp nhận đầu vào của người dùng dưới dạng chuỗi và lưu trữ nó trên một biến như sau

const input = prompt[];

Phương pháp này cũng chấp nhận một

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
3 làm thông tin bổ sung để cho người dùng biết loại đầu vào mà ứng dụng của bạn đang mong đợi

Ví dụ: viết đoạn mã sau để hỏi tên người dùng

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];

Hoặc viết gợi ý sau khi cần biết tuổi của người dùng

const input = prompt["Please enter your age:"];
alert[`You are ${input} years old`];

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
1 sẽ được trình duyệt hiển thị như sau

Ví dụ nhắc trình duyệt

Khi đó phương thức

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
5 sẽ hiển thị kết quả như sau

Thông báo hiển thị kết quả

Bạn có thể định dạng văn bản

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
3 dưới dạng câu hỏi hoặc gợi ý tùy theo yêu cầu của bạn

Nhận đầu vào của người dùng từ bảng điều khiển NodeJS

Để chấp nhận đầu vào của người dùng từ bảng điều khiển NodeJS, bạn cần sử dụng mô-đun

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
7 được cung cấp

Bạn có thể

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
8 mô-đun như sau

const readline = require["readline"];

Sau đó, bạn cần tạo một phiên bản

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
9 được kết nối với luồng đầu vào. Bạn tạo
const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
9 bằng cách sử dụng phương thức
const input = prompt["Please enter your age:"];
alert[`You are ${input} years old`];
1, đồng thời chuyển các tùy chọn
const input = prompt["Please enter your age:"];
alert[`You are ${input} years old`];
2 và
const input = prompt["Please enter your age:"];
alert[`You are ${input} years old`];
3 làm đối số đối tượng

Vì bạn muốn đầu vào và đầu ra được ghi vào bảng điều khiển, bạn cần viết

const input = prompt["Please enter your age:"];
alert[`You are ${input} years old`];
2 là
const input = prompt["Please enter your age:"];
alert[`You are ${input} years old`];
5 và
const input = prompt["Please enter your age:"];
alert[`You are ${input} years old`];
3 là
const input = prompt["Please enter your age:"];
alert[`You are ${input} years old`];
7

Đây là một ví dụ về việc tạo giao diện đường đọc

const readline = require["readline"];

const rl = readline.createInterface[{
  input: process.stdin,
  output: process.stdout,
}];

Để yêu cầu đầu vào của người dùng, bạn cần gọi phương thức

const input = prompt["Please enter your age:"];
alert[`You are ${input} years old`];
8 từ đối tượng
const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
9, được gán cho biến
const readline = require["readline"];
0 trong đoạn mã trên

Phương thức

const input = prompt["Please enter your age:"];
alert[`You are ${input} years old`];
8 nhận hai tham số

  • Câu hỏi
    const input = prompt["What's your name?"];
    alert[`Your name is ${input}`];
    
    3 bạn muốn hỏi người dùng của mình
  • Đối tượng
    const readline = require["readline"];
    
    3 [tùy chọn] nơi bạn có thể truyền tín hiệu
    const readline = require["readline"];
    
    4
  • Hàm
    const readline = require["readline"];
    
    5 để thực thi khi nhận được câu trả lời, chuyển
    const readline = require["readline"];
    
    6 cho hàm

Bạn có thể bỏ qua đối tượng

const readline = require["readline"];
3 và chuyển hàm
const readline = require["readline"];
5 làm tham số thứ hai

Đây là cách bạn sử dụng phương pháp

const input = prompt["Please enter your age:"];
alert[`You are ${input} years old`];
8

const readline = require["readline"];

const rl = readline.createInterface[{
  input: process.stdin,
  output: process.stdout,
}];

rl.question["What is your name? ", function [answer] {
  console.log[`Oh, so your name is ${answer}`];
}];

Cuối cùng, bạn có thể đóng giao diện

const readline = require["readline"];
0 bằng cách gọi phương thức
const readline = require["readline"];

const rl = readline.createInterface[{
  input: process.stdin,
  output: process.stdout,
}];
1 bên trong hàm gọi lại

const readline = require["readline"];

const rl = readline.createInterface[{
  input: process.stdin,
  output: process.stdout,
}];

rl.question["What is your name? ", function [answer] {
  console.log[`Oh, so your name is ${answer}`];
  console.log["Closing the interface"];
  rl.close[];
}];

Lưu tệp dưới dạng

const readline = require["readline"];

const rl = readline.createInterface[{
  input: process.stdin,
  output: process.stdout,
}];
2, sau đó gọi tập lệnh bằng NodeJS như thế này

$ node ask.js
What is your name? Nathan
Oh, so your name is Nathan
Closing the interface
$

Và đó là cách bạn có thể yêu cầu đầu vào của người dùng bằng mô-đun NodeJS

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
7

Bạn cũng có thể sử dụng

const readline = require["readline"];

const rl = readline.createInterface[{
  input: process.stdin,
  output: process.stdout,
}];
4 từ NodeJS để thêm bộ đếm thời gian cho câu hỏi của mình và hủy bỏ nó khi một khoảng thời gian nhất định đã trôi qua

Nhưng xin lưu ý rằng phương thức

const readline = require["readline"];

const rl = readline.createInterface[{
  input: process.stdin,
  output: process.stdout,
}];
4 chỉ khả dụng cho NodeJS phiên bản 15 trở lên. Và thậm chí sau đó, phương pháp này vẫn còn thử nghiệm

Câu hỏi sau sẽ bị hủy bỏ khi không có câu trả lời nào được đưa ra trong 10 giây sau lời nhắc. Mã này đã được thử nghiệm để hoạt động trên NodeJS phiên bản 16. 3. 0 trở lên

const readline = require["readline"];
const ac = new AbortController[];
const signal = ac.signal;

const rl = readline.createInterface[{
  input: process.stdin,
  output: process.stdout,
}];

rl.question["What is your name? ", { signal }, [answer] => {
  console.log[`Oh, so your name is ${answer}`];
  console.log["Closing the console"];
  process.exit[];
}];

signal.addEventListener[
  "abort",
  [] => {
    console.log["The name question timed out!"];
  },
  { once: true }
];

setTimeout[[] => {
  ac.abort[];
  process.exit[];
}, 10000]; // 10 seconds

Bạn có thể thêm bộ đếm thời gian như trong đoạn mã trên cho các câu hỏi nhạy cảm về thời gian

Như bạn có thể thấy từ ví dụ trên, mô-đun

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
7 khá phức tạp so với phương thức
const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
1 dễ dàng từ trình duyệt

Ngoài ra, bạn có thể sử dụng mô-đun npm

const readline = require["readline"];

const rl = readline.createInterface[{
  input: process.stdin,
  output: process.stdout,
}];
8 để yêu cầu đầu vào của người dùng mà không cần sử dụng mô-đun
const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
7

Nhận đầu vào của người dùng từ NodeJS bằng mô-đun đồng bộ hóa nhắc nhở

Đầu tiên bạn cần cài đặt module

const readline = require["readline"];

const rl = readline.createInterface[{
  input: process.stdin,
  output: process.stdout,
}];
8 sử dụng npm hoặc Yarn như sau

npm install prompt-sync
# or
yarn add prompt-sync

Sau đó, bạn chỉ cần

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
8 mô-đun
const readline = require["readline"];

const rl = readline.createInterface[{
  input: process.stdin,
  output: process.stdout,
}];
8 và sử dụng phương thức
const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
1 như trong trình duyệt

Hãy nhìn vào đoạn mã dưới đây

const input = prompt["What's your name?"];
alert[`Your name is ${input}`];
0

Vì phương thức này là đồng bộ, phiên bản Node của bạn sẽ đợi đầu vào trước khi thực hiện dòng tiếp theo. Để biết thêm thông tin, bạn có thể truy cập vào

Làm cách nào để lấy dữ liệu đầu vào trong JavaScript?

Chúng ta có thể lấy giá trị của trường nhập văn bản bằng nhiều phương thức khác nhau trong JavaScript. Có thuộc tính giá trị văn bản có thể đặt và trả về giá trị của thuộc tính giá trị của trường văn bản. Ngoài ra, chúng ta có thể sử dụng phương thức jquery val[] bên trong tập lệnh để lấy hoặc đặt giá trị của trường nhập văn bản .

Làm cách nào để thêm đầu vào trong JavaScript?

Sử dụng Javascript, tất cả những gì bạn cần là tài liệu. createElement và setAttribute . đầu vào var = tài liệu. createElement["đầu vào"]; .

Làm cách nào để lấy đầu vào số nguyên của người dùng trong JavaScript?

Hàm JavaScript parseInt[] được sử dụng để chấp nhận tham số chuỗi và cơ số và chuyển đổi nó thành một số nguyên.

Chủ Đề