Mam zmienną w zakresie globalnym, który jest przypisany instancję klasy tak:Czy instancja klasy może się sama zastąpić w JavaScript?
window.someInstance = new MyClass();
w pewnym momencie później, muszę wymienić tę zmienną z nowym przykład, ale jest to możliwe/akceptowalne zrobić to z poziomu metody samej klasy? Na przykład:
function MyClass() {
this.myClassMethod = function() {
window.someInstance = new MyClass();
};
}
window.someInstance = new MyClass();
window.someInstance.myClassMethod.call();
Dziwny scenariusz, który znam, ale działa to czysto, po prostu nie jestem pewien, czy to tworzy jakąkolwiek pamięć lub odniesienia problemów?
Dzięki
nadpisywania zmiennej nie jest taka sama jak zastąpienie instancji - instancja może być przechowywane w kilku miejscach jednocześnie, takich jak zmienne lub właściwości obiektów. – pimvdb
Dlaczego musisz go zastąpić z samej klasy? –
Mam teraz pisanie dziwacznego kodu w mojej głowie ... 'this = eval (" nowy "+ typeof (this) +"() ");' ... XD –