А что оно, по-вашему, должно выводить?)
function f(a, b) {
alert( this );
alert( a + b );
}
var g = bind(f, "Context"); // - this = "Context", для g();
g(1, 2); // выводит Context, затем 3. - как в f() и написано - сначала алертом вывели this, которому назначили Context, а потом результат сложения a(1) и b(2) = 3
Отсюда::
Метод bind() создаёт новую функцию, которая при вызове устанавливает в качестве контекста выполнения this предоставленное значение. В метод также передаётся набор аргументов, которые будут установлены перед переданными в привязанную функцию аргументами при её вызове.