Если я не прав, то поправьте, но я, хоть убей, не понимаю, нахрен нужна эта нелепая конструкция. Обычно, ее расхваливают, приводя примеры, к слову, столь же нелепые, как и она сама. Типо:
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)
Ладно, может я и заблуждаюсь, но хотелось бы увидеть пример хоть сколько-нибудь полезного применения.