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

วิธีใช้ bind() Function ใน JavaScript

bind()

ต่างจาก apply() ที่คืนค่า value ทันที bind() คืนค่า function ที่สามารถนำไป execute ได้ภายหลัง

ตัวอย่าง: apply() คืนค่า value, bind() คืนค่า function

ตัวอย่างที่ 1

<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

ทั่วไปส่ง arguments เข้าฟังก์ชันได้ value output แต่ bind() คืน function ถ้าส่ง arguments เข้า function ที่คืนมา จะได้ value output

ตัวอย่างที่ 2

กำหนด output function ให้ตัวแปร "round" ส่ง arguments เข้า round ได้ value output

<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