Mảng với các hàm ẩn danh trong JavaScript

Tôi đã đề cập trước đây rằng các hàm trong JavaScript hành xử giống như chuỗi hoặc số. Đặc biệt, có thể tạo một mảng bao gồm các hàm. Hãy tạo ra:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

Ví dụ, hãy xuất nội dung của phần tử thứ nhất của mảng ra console:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

console.log(arr[0]); // sẽ thấy mã nguồn của hàm đầu tiên

Như bạn thấy, trong ví dụ trên chúng ta nhận được mã nguồn của hàm, chứ không phải kết quả.

Để hàm được gọi, cần thêm dấu ngoặc tròn vào sau nó. Vì hàm của chúng ta được lưu trong arr[0], nên dấu ngoặc tròn cần được viết sau dấu ngoặc vuông, như thế này: arr[0](). Hãy kiểm tra:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

arr[0](); // sẽ xuất ra '1'

Cũng có thể duyệt qua mảng các hàm của chúng ta bằng vòng lặp và trong vòng lặp đó gọi từng hàm:

javascriptlet arr = [
  function() {console.log('1')},
  function() {console.log('2')},
  function() {console.log('3')},
];

for (let func of arr) {
  func(); // gọi các hàm của chúng ta trong vòng lặp
}
Задание 1

Tạo một mảng arr với ba hàm. Hàm đầu tiên trả về qua return số 1, hàm thứ hai - số 2, hàm thứ ba - số 3.

Задание 2

Sử dụng mảng arr bạn đã tạo, hãy xuất số 3 ra console bằng cách gọi hàm tương ứng.

Задание 3

Sử dụng mảng arr bạn đã tạo, hãy tìm tổng kết quả của các hàm (không dùng vòng lặp).

Задание 4

Duyệt qua mảng arr bạn đã tạo bằng vòng lặp và xuất kết quả làm việc của tất cả các hàm ra console.