การส่งตัวเลขเป็นพารามิเตอร์ใน JavaScript

ตอนนี้เราจะไม่เก็บตัวเลขที่ฟังก์ชันที่ส่งเข้ามาทำงานด้วย ไว้ภายใน test อย่างตายตัวอีกต่อไป แต่จะส่งมาเป็นพารามิเตอร์ตัวแรกแทน:

javascriptfunction test(num, func) { // ตัวเลขเข้ามาเป็นพารามิเตอร์แรก
  console.log(func(num));
}

ลองใช้ฟังก์ชันของเรา:

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

// จะแสดงผล 4:
test(2, function(num) {
  return num * num;
});

ความสะดวกของโครงสร้างของเรา: เรามี ฟังก์ชัน test ฟังก์ชันเดียวที่รับ ตัวเลขเป็นพารามิเตอร์ แต่สิ่งที่เกิดขึ้นกับตัวเลข ไม่ได้ถูกกำหนดไว้อย่างตายตัวในฟังก์ชัน test

ตัวอย่างเช่น เราสามารถส่งฟังก์ชันที่ยกกำลังสอง เป็นพารามิเตอร์ตัวที่สองของฟังก์ชัน test หรือเราสามารถส่งฟังก์ชันที่ยกกำลังสามก็ได้:

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

// หาค่ากำลังสองของตัวเลข:
test(2, function(num) {
  return num * num; // ส่งกลับค่ากำลังสอง
});

// หาค่ากำลังสามของตัวเลข:
test(2, function(num) {
  return num * num * num; // ส่งกลับค่ากำลังสาม
});
Задание 1

ให้ฟังก์ชัน test รับตัวเลข เป็นพารามิเตอร์แรก และรับฟังก์ชันเป็นพารามิเตอร์ที่สองและสาม โดยฟังก์ชันเหล่านั้นก็รับตัวเลขเป็นพารามิเตอร์เช่นกัน ให้ฟังก์ชัน test ส่งกลับผลรวม ของผลลัพธ์จากฟังก์ชันที่ส่งเข้ามา:

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

เรียกใช้ฟังก์ชัน test โดยส่งตัวเลข 3 เป็นพารามิเตอร์แรก ส่งฟังก์ชันที่ยกกำลังสองตัวเลขเป็นพารามิเตอร์ที่สอง และส่งฟังก์ชันที่ยกกำลังสามตัวเลขเป็นพารามิเตอร์ที่สาม แสดงผลลัพธ์ที่ได้ในคอนโซล