Если я не прав, то поправьте, но я, хоть убей, не понимаю, нахрен нужна эта нелепая конструкция. Обычно, ее расхваливают, приводя примеры, к слову, столь же нелепые, как и она сама. Типо:
o={
arr: [],
add: function(x){this.arr.push(x)},
}
//удивительно(!!!), но так не работает:
g_arr=[1,2,3]
//g_arr.forEach(o.add)//TypeError: Cannot call method 'push' of undefined
//еще бы, this связывается с глобальным контекстом, с чего бы ей, внезапно, работать
g_arr.forEach(o.add, o)// O-o-o, а вот так работает
g_arr.forEach(o.add.bind(o)) // так тоже, это, типа, сильно лучше
// Или сделать вот так
o.add=o.add.bind(o)
g_arr.forEach(o.add)
Спрашивается, с чем ты изначально хотел связать this.arr? Если ты хотел связать ее с o.arr, то почему ты сразу не написал o.arr, зачем ты, сука, написал this? Это все напоминает такую ситуацию: стоматологу, дергающему зубы через жопу вместо того, чтобы, кагбе намекнуть, что можно попробовать делать это через рот, предоставляют годный инструмент для удобного дерганья через жопу.
Ладно, может я и заблуждаюсь, но хотелось бы увидеть пример хоть сколько-нибудь полезного применения.