cuốn sách gpt4 ai đã làm

Trình tạo JavaScript

In lại Tác giả: Người biết Thời gian cập nhật: 2024-03-12 23:33:37 40 4
mua khóa gpt4 Nike

Trong hướng dẫn này, bạn sẽ tìm hiểu về trình tạo JavaScript thông qua các ví dụ. Trong JavaScript, trình tạo cung cấp một cách làm việc mới với các hàm và trình vòng lặp.
    Sử dụng máy phát điện,

  • Bạn có thể dừng thực thi một hàm từ bất kỳ đâu bên trong hàm
  • và tiếp tục thực thi mã từ nơi nó bị tạm dừng
Tạo trình tạo JavaScript

Để tạo một trình tạo, trước tiên bạn cần xác định hàm tạo bằng cách sử dụng ký hiệu hàm*. Đối tượng của hàm tạo được gọi là trình tạo.

// định nghĩa một hàm tạo function* Generator_function() { ... .. ... } // tạo một hàm tạo const Generator_obj = Generator_function();

Lưu ý: Các hàm tạo được biểu thị bằng *. Bạn có thể tạo nó bằng cách sử dụng function* GeneratorFunc() {…} hoặc function *generatorFunc(){…}.

Sử dụng năng suất để tạm dừng thực thi

Như đã đề cập ở trên, bạn có thể tạm dừng việc thực thi hàm tạo mà không thực thi toàn bộ thân hàm. Đối với điều này, chúng tôi sử dụng từ khóa năng suất. Ví dụ,

// hàm tạo function* GeneratorFunc() { console.log("1. code trước năng suất đầu tiên"); console.log("2. code trước năng suất thứ hai"); đối tượng trình tạo const Generator = GeneratorFunc(); console.log(generator.next());

đầu ra

1. mã trước sản lượng đầu tiên {value: 100, done: false}

đây,

  • Một đối tượng trình tạo có tên là trình tạo được tạo.
  • Khi Generator.next() được gọi, mã cho sản lượng đầu tiên sẽ được thực thi. Khi gặp năng suất, chương trình sẽ trả về giá trị và tạm dừng chức năng tạo.

LƯU Ý: Bạn cần gán đối tượng trình tạo cho một biến trước khi sử dụng nó.

Nhiều báo cáo lợi nhuận hoạt động như thế nào

Biểu thức lợi suất trả về một giá trị. Tuy nhiên, không giống như câu lệnh return, nó không kết thúc chương trình. Đó là lý do tại sao bạn có thể tiếp tục thực thi mã từ vị trí lợi nhuận cuối cùng. Ví dụ,

function* GeneratorFunc() { console.log("1. code trước năng suất đầu tiên"); mang lại 100; console.log("2. code trước năng suất thứ hai" console.log("3. code sau năng suất thứ hai"); } const Generator = GeneratorFunc(); console.log(generator.next()); console.log(generator.next()); console.log(generator.next());

đầu ra

1. mã trước sản lượng đầu tiên {value: 100, done: false} 2. mã trước sản lượng thứ hai {value: 200, done: false} 3. mã sau sản lượng thứ hai {value: unknown, done: true}

Đây là cách chương trình hoạt động.

  • Câu lệnh Generator.next() đầu tiên thực thi mã cho đến câu lệnh lợi nhuận đầu tiên và tạm dừng thực thi chương trình.
  • Trình tạo thứ hai.next() khởi động chương trình từ nơi nó bị tạm dừng.
  • Khi tất cả các phần tử đã được truy cập, {value: undefind, done: true} sẽ được trả về.

Truyền tham số cho hàm tạo

Bạn cũng có thể truyền tham số cho hàm tạo. Ví dụ,

// hàm tạo function* GeneratorFunc() { // trả về 'hello' lúc đầu next() let x = sinh ra 'hello'; // trả về đối số đã truyền ở next() console.log(x); ('some code'); // trả về 5 ở giây tiếp theo() mang lại 5; } const Generator = GeneratorFunc(); console.log(generator.next());

đầu ra

{value: "hello", done: false} 6 một số mã {value: 5, done: false} {value: không xác định, xong: true}

Trong quy trình trên,

  • Generator.next() đầu tiên trả về giá trị lợi nhuận (trong trường hợp này là 'xin chào'). Tuy nhiên, giá trị không được gán cho biến x trong let x = energy 'hello';
{giá trị: "xin chào", xong: sai}
  • Khi gặp Generator.next(6), mã bắt đầu bằng let x = energy 'hello'; và gán tham số 6 cho x. Ngoài ra, đoạn mã còn lại sẽ được thực thi cho đến sản lượng thứ hai.
6 một số mã {giá trị: 5, xong: sai}
  • Khi hàm next() thứ ba được thực thi, chương trình trả về {value: undefind, done: true}. Điều này là do không có báo cáo lãi suất nào khác.
{giá trị: không xác định, hoàn thành: đúng}
Trình tạo được sử dụng để thực hiện phép lặp

Trình tạo cung cấp một cách đơn giản hơn để triển khai các trình vòng lặp.
    Nếu bạn muốn triển khai một trình vòng lặp theo cách thủ công, bạn phải sử dụng phương thức next() để tạo một trình vòng lặp và lưu trạng thái. Ví dụ,

// tạo đối tượng có thể lặp const iterableObj = { // phương thức iterator [Symbol.iterator]() { let step = 0; return { next() { step++; , xong: false}; } else if (step === 2) { return { value: '2', done: false} } else if (step === 3) { return { value: '3', xong : false}; } trả về { value: '', done: true }; } } } } cho (const i của iterableObj) { console.log(i);

đầu ra

1 2 3

Vì các trình tạo có thể lặp lại nên bạn có thể triển khai các trình vòng lặp theo cách đơn giản hơn. Sau đó, bạn có thể sử dụng vòng lặp for…of để lặp qua trình tạo. Ví dụ,

// hàm tạo hàm * GeneratorFunc() { suất 1; suất 3; } const obj = GeneratorFunc(); // lặp qua trình tạo for (let value of obj) { console.log(value);
phương pháp tạo
phương pháp mô tả
Kế tiếp() Trả về giá trị lợi nhuận
trở lại() Trả về một giá trị và kết thúc trình tạo
ném() Ném một lỗi và chấm dứt máy phát điện
Từ khóa trả về và lợi nhuận JavaScript
trả lại từ khóa từ khóa năng suất
Trả về một giá trị và kết thúc hàm. Trả về một giá trị và tạm dừng hàm mà không kết thúc nó.
Có sẵn cho các chức năng bình thường và chức năng máy phát điện. Chỉ có sẵn trong các chức năng của máy phát điện.
Hàm tạo JavaScript có trả về

Bạn có thể sử dụng câu lệnh return trong các hàm tạo. Câu lệnh return trả về một giá trị và kết thúc hàm (tương tự như hàm thông thường). Ví dụ,

// hàm tạo function* GeneratorFunc() { return 100; console.log("2. một số mã trước năng suất thứ hai"); (generator.next()); console.log(generator.next()); console.log(generator.next());

đầu ra

{value: 100, xong: false} {value: 123, xong: true} {value: không xác định, xong: true}

Trong chương trình trên, khi gặp câu lệnh return, nó sẽ trả về giá trị, thuộc tính done trở thành true và hàm kết thúc. Do đó, phương thức next() sau câu lệnh return không trả về kết quả nào.
    Lưu ý: Bạn cũng có thể sử dụng phương thức return() thay vì câu lệnh return trong đoạn mã trên, tương tự như Generator.return(123);

Trình tạo JavaScript Phương thức ném

Bạn có thể đưa ra lỗi một cách rõ ràng trên hàm tạo bằng cách sử dụng phương thức Throw(). Việc sử dụng phương thức Throw() sẽ gây ra lỗi và kết thúc hàm. Ví dụ,

// hàm tạo function* GeneratorFunc() { Năng suất 100; Năng suất 200; } // trả về đối tượng trình tạo const Generator = GeneratorFunc(); console.log(generator.next()); console.log(generator.throw(Lỗi mới('Đã xảy ra lỗi.'))); console.log(generator.next());

đầu ra

{value: 1, done: false} Lỗi: Đã xảy ra lỗi.
Mục đích của máy phát điện
  • Trình tạo cho phép chúng tôi viết mã sạch hơn khi viết các tác vụ không đồng bộ.
  • Trình tạo cung cấp một cách đơn giản hơn để triển khai các trình vòng lặp.
  • Trình tạo chỉ thực thi mã của họ khi cần thiết.
  • Máy phát điện có hiệu quả về bộ nhớ.

Trình tạo đã được giới thiệu trong ES6. Một số trình duyệt có thể không hỗ trợ sử dụng trình tạo. Để tìm hiểu thêm, hãy truy cập Hỗ trợ trình tạo JavaScript.

Hướng dẫn trước :Trình lặp và các trình lặp                                          Hướng dẫn tiếp theo :JS Regex

Tài liệu tham khảo

[1] Parewa Labs Pvt. Ltd. (2022, ngày 1 tháng 1). Bắt đầu với JavaScript, từ Parewa Labs Pvt Ltd.

40 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress