Вы написали какую-то фигню.
Вот пара простых решений.
1) С использованием bind
function Class() {};
Class.prototype.F1 = function () {
var self = this;
arr.forEach(this.F2.bind(this));
};
Class.prototype.F2 = function () {
// Some actions
};
2) С использованием замыкания и ссылки на контекст this
function Class() {};
Class.prototype.F1 = function () {
var self = this;
arr.forEach(function(elm) {
self.F2();
});
};
Class.prototype.F2 = function () {
// Some actions
};
Оба решения - это нормальная практика. 1е решение на читаемость, 2е на скорость работы.
Пишите классы именно через прототип. То что вы написали глупость. А лучше почитайте немного learn javascript, пропуская не нужное.