Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

เมธอด apply() ใน JavaScript คืออะไร

เมธอด apply() ใน JavaScript ทำงานคล้ายกับ call() แตกต่างกันตรงที่ apply() รับอาร์กิวเมนต์เป็น อาร์เรย์ (array) หรือ array-like object ส่วน call() รับอาร์กิวเมนต์ทีละตัว

ไวยากรณ์

func.apply(thisArg, [argsArray])

ตัวอย่าง

ใช้ Math.max.apply() เพื่อหาค่าสูงสุดในอาร์เรย์:

<html>
  <head>
    <script>
      document.write("ค่าสูงสุดในอาร์เรย์: ");
      document.write(Math.max.apply(null, [50, 90, 18, 87]));
    </script>
  </head>
  <body>
  </body>
</html>

ผลลัพธ์

ค่าสูงสุดในอาร์เรย์: 90

กรณีใช้งานทั่วไป

  • เรียกฟังก์ชันพร้อมส่งอาร์เรย์เป็นพารามิเตอร์
  • ใช้กับ Math.max, Math.min เพื่อหาค่าสูงสุด/ต่ำสุดในอาร์เรย์
  • การ借ยืมเมธอด (method borrowing) จากออบเจ็กต์อื่น

หมายเหตุ: ใน ES6 สามารถใช้ Spread Syntax (...) แทนได้ ซึ่งอ่านง่ายกว่า เช่น Math.max(...[50, 90, 18, 87])