ตามเนื้อผ้า เรามีวัตถุที่มี วิธีการ เฉพาะของตัวเอง และ คุณสมบัติ . ใช้ 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