Truyền số làm tham số trong JavaScript

Bây giờ hãy để số mà hàm được truyền vào thực hiện thao tác gì đó, không lưu cứng bên trong test, mà truyền vào dưới dạng tham số đầu tiên:

javascriptfunction test(num, func) { // tham số đầu tiên nhận vào là một số
  console.log(func(num));
}

Hãy sử dụng hàm của chúng ta:

javascriptfunction test(num, func) {
  console.log(func(num));
}

// Sẽ in ra 4:
test(2, function(num) {
  return num * num;
});

Ưu điểm của cấu trúc của chúng ta: chúng ta có một hàm test, nhận một số làm tham số. Nhưng việc sẽ làm gì với số đó không bị mã hóa cứng trong hàm test.

Chúng ta có thể, ví dụ, truyền vào tham số thứ hai của hàm test một hàm tính bình phương, hoặc cũng có thể truyền một hàm tính lập phương:

javascriptfunction test(num, func) {
  console.log(func(num));
}

// Tìm bình phương của số:
test(2, function(num) {
  return num * num; // trả về bình phương
});

// Tìm lập phương của số:
test(2, function(num) {
  return num * num * num; // trả về lập phương
});
Задание 1

Giả sử hàm test nhận một số làm tham số đầu tiên, còn tham số thứ hai và thứ ba là các hàm, cũng nhận các số làm tham số. Giả sử hàm test trả về tổng kết quả của các hàm được truyền vào:

javascriptfunction test(num, func1, func2) {
  return func1(num) + func2(num);
}

Gọi hàm test, truyền số 3 làm tham số đầu tiên, hàm tính bình phương làm tham số thứ hai, và hàm tính lập phương làm tham số thứ ba. Hiển thị kết quả làm việc trong console.