Поведение "this" при вызове функции bar
меня озадачивает. См. Код ниже. Есть ли способ организовать "this" как простой старый экземпляр объекта js, когда bar вызывается из обработчика клика вместо того, чтобы быть элементом html?
// a class with a method
function foo() {
this.bar(); // when called here, "this" is the foo instance
var barf = this.bar;
barf(); // when called here, "this" is the global object
// when called from a click, "this" is the html element
$("#thing").after($("<div>click me</div>").click(barf));
}
foo.prototype.bar = function() {
alert(this);
}