לכל פונקציה ב JS יש this. עכשיו ה this הדיפולטיבי הוא על האובייקט שיזם את הקריאה לפונקציה.במצב שיש לך פונקציה עם state שאתה רוצה לגשת ל state כאשר יש event אז אתה בעצם מגיע ל event עם this שהוא בעצם האלמנט שלחצת עליו.
וכאן יש אופציה לרשום את ה event עם ה this שאתה בוחר באמצעות bind.
bind מחזיר לך פונקציה עם context מתאים.
סתכל על הדוגמא הבאה בכדי להבין:
http://jsfiddle.net/pztpwp24/
לגבי call ו apply ההבדל ביניהם הוא הסינטקס. אחד רוצה את הפרמטרים בתור מערך והשני כרשימת ארגומנטים. הם עושים את אותו הדבר כמו bind רק שהקריאה מתבצעת ישר בעוד ש bind בעצם מחזיר פונקציה.
סתכל על הדוגמא (העקומה) הבאה:
http://jsfiddle.net/omb84toa/