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

This question already has an answer here:

How to access the correct `this` inside a callback? 10 answers

Я реализую классоподобную структуру в 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() построить выше), я получаю ошибку & quot;myFunction() is not a function. & Quot;

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

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

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