Ключевое слово this возвращает объект окна в прототипе объекта в Javascript?

У меня есть следующая функция в классе:

MyClass.prototype.myFunction = function(item, args) 
{       
    console.log(this);
}

Эта функция вызывается из внешней библиотеки, к которой у меня нет доступа к изменениям. Когда он вызывается, консоль записывает «this» в качестве объекта окна вместо действительного экземпляра объекта. При поиске stackoverflow я нашел эту цитату:

это устанавливается в соответствии с тем, как метод вызывается, а не в соответствии с тем, как метод написан. Так что для obj.method () это будет установлено в obj внутри метода (). Для obj.method.call (x) это внутри метода () будет установлено в x. Это определяется тем, как это называется. Это также означает, что если вы передадите его в качестве обратного вызова, например, onclick, это будет установлено на объект глобального окна, а не на то, что вы ожидаете.

Я предполагаю, что это то, что происходит, и я не могу изменить, как это называется. Мой вопрос заключается в том, есть ли в любом случае получить экземпляр объекта его независимо от того, как он называется?

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

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