Рассмотрим этот код:
function foo(something) {
this.a = something;
}
var obj1 = {};
var bar = foo.bind(obj1);
Теперь следующее утверждение не выполняется:
bar.prototype.newprop = "new"; // Cannot execute this
Как я понял, каждая функция имеет прототип объекта. Тогда почему мы не можем выполнить вышеуказанное утверждение?
И бар действительно является функцией, как мы можем ее назвать:
bar(2);
console.log(obj1.a); // 2