Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การใช้ฟังก์ชั่น Apply () ใน JavaScript คืออะไร?


ตามเนื้อผ้า เรามีวัตถุที่มี วิธีการ เฉพาะของตัวเอง และ คุณสมบัติ . ใช้ apply() ฟังก์ชั่น เราสามารถสร้างวิธีการที่สามารถเข้าถึงวัตถุที่กำหนดทั้งหมดรวมกันได้

จริงๆ แล้ว วิธีนี้ใช้ได้ผลเหมือนกับ call() ฟังก์ชัน แต่เมื่อมีความจำเป็นต้องส่งผ่านอาร์เรย์เช่นตัวแปร apply() ฟังก์ชั่นมาในรูปภาพ

ในตัวอย่างต่อไปนี้ องค์ประกอบหลายรายการ ถูกเรียกทีละรายการจึงไม่จำเป็นต้องใช้ apply() ทำหน้าที่แทน call() ใช้ฟังก์ชัน

ตัวอย่าง

<html>
<body>
   <script>
      var obj = {num : 10};
      var mul = function(i, j, k){
         return this.num * i*j*k;
      }
      document.write(mul.call(obj,6,3,4));
   </script>
</body>
</html>

ผลลัพธ์

720

ในตัวอย่างต่อไปนี้แทนที่จะเป็นแต่ละองค์ประกอบ เมื่อ อาร์เรย์ ผ่านไปแล้ว call() ฟังก์ชั่นกลับมา NaN ในขณะที่ ใช้() ฟังก์ชั่นส่งกลับค่า นี่เป็นเพราะว่า call() ฟังก์ชันไม่สามารถเข้าถึงอาร์เรย์ได้

ตัวอย่าง

<html>
<body>
   <script>
      var obj = {num : 10};
      var mul = function(i, j, k){
         return this.num * i*j*k;
      }
      var array = [6,3,4]
      document.write(mul.call(obj,array));
      document.write("</br>");
      document.write(mul.apply(obj,array));
   </script>
</body>
</html>

ผลลัพธ์

NaN
720