Объясните почему не работает код?

Объясните почему не работает код?
Объясните, почему не работает данный код?
Отладчик хрома выдает ошибку "SUncaught SyntaxError: Unexpected identifier".

У меня он видит неладное в строке "if (еypeof context == 'string') {" - непосредственно в 'string' и в строке "bind(obj, 'f')();" - в 'f'.

function bind(func, context) {

var args = [].slice.call(arguments, 2);
if (typeof context == 'string') {
args.unshift( func[context], func );
return bind.apply(this, args);

}

return function() {
var unshiftArgs = args.concat( [].slice.call(arguments) );
return func.apply(context, unshiftArgs);

};
};

var obj = {
a: 1
f: function () {alert(this.a);}
};

bind(obj, 'f')();

  • убери скобку фигурную 2 подряд- и экранируй двойными кавычками "строки"