Как сохранить контроль над этим ключевым словом при расширении прототипов в jQuery? [Дубликат]

На этот вопрос уже есть ответ здесь:

Как получить доступ к правильному `this` внутри обратного вызова? 10 ответов

Я реализую классоподобную структуру в JQuery, но яУ меня возникли проблемы при попытке вызвать некоторые из моих функций.

Вот как настраивается структура:

MyClass = function(name) {
    this.init(name);
}
$.extend(MyClass.prototype, {
    init: function(theName) {
        this.myFunction(); // works
        $('.myclass').each(function(){
            this.myFunction(); // doesn't work
        });
    },
    myFunction = function(){}
});

Проблема яу меня есть то, что, когда я пытаюсь вызвать одну из моих функций (например,myFunction()) внутри блока JQuery (например,each() построить выше), я получаю ошибку "."myFunction() is not a function

Я думаю, что это как-то связано сthis Ключевое слово меняет свое значение внутри блока JQuery, но яЯ не уверен. Любая помощь будет оценена!

Ответы на вопрос(3)

Ваш ответ на вопрос