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

วิธีการใช้ฟังก์ชั่นผูก () ใน JavaScript?


ผูก()

ไม่เหมือน apply() ฟังก์ชันซึ่งให้ ค่า เป็นเอาต์พุต Bind() ฟังก์ชันส่งผลให้ ฟังก์ชัน ที่มีความสามารถในการรันโค้ดได้

หากเราสังเกตโค้ดต่อไปนี้ apply() ได้ส่งผลให้ ค่า เอาต์พุตในขณะที่ bind() ฟังก์ชั่นส่งผลให้ ฟังก์ชั่น เอาท์พุต

ตัวอย่าง

<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.bind(obj,array));
   document.write("</br>");
   document.write(mul.apply(obj,array));
</script>
</body>
</html>

ผลลัพธ์

function () { [native code] }
720


โดยทั่วไป เมื่อเราส่งอาร์กิวเมนต์ไปยังฟังก์ชันใดๆ ค่า ผลลัพธ์จะปรากฏขึ้น ในลักษณะเดียวกันนี้ เนื่องจาก ฟังก์ชัน ถูกดำเนินการ เป็นเอาต์พุต หากเราพยายามส่งผ่านอาร์กิวเมนต์ไปยังฟังก์ชันนั้น ค่า เอาต์พุตจะถูกดำเนินการ

ตัวอย่าง

ในตัวอย่างต่อไปนี้ ฟังก์ชันเอาต์พุตถูกกำหนดให้กับตัวแปรที่เรียกว่า "รอบ" และอาร์กิวเมนต์ถูกส่งผ่านไปยังตัวแปรนั้นเพื่อรับ ค่า เอาต์พุตแทน ฟังก์ชัน เอาท์พุต

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

ผลลัพธ์

720
720