Słowo kluczowe „this” zwraca obiekt okna w prototypie obiektu w Javascript?

W klasie mam następującą funkcję:

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

Ta funkcja jest wywoływana z zewnętrznej biblioteki, do której nie mam dostępu. Gdy jest wywoływana, konsola rejestruje „to” jako obiekt okna zamiast rzeczywistego obiektu instancji. Po przeszukiwaniu stackoverflow znalazłem ten cytat:

jest to ustawione w zależności od sposobu wywołania metody, a nie od sposobu zapisu metody. Tak więc dla obj.method () zostanie to ustawione na obj wewnątrz metody (). Dla obj.method.call (x) to wnętrze metody () zostanie ustawione na x. To zależy od tego, jak się nazywa. Oznacza to również, że jeśli przekażesz go jako oddzwonienie do np. onclick, zostanie ustawiony na globalny obiekt okna, a nie na to, czego oczekujesz.

Zakładam, że tak właśnie się dzieje i nie mogę zmienić sposobu, w jaki się nazywa. Moje pytanie brzmi, czy i tak jest, aby uzyskać instancję obiektu bez względu na to, jak się nazywa?

questionAnswers(3)

yourAnswerToTheQuestion