Я не пробовал это, но как насчет перемещения вызова метода removeEventListener в сам MyClass. Метод не будет анонимным, но вы не будете загрязнять глобальное пространство имен, и он будет частью класса, которым он манипулирует. Вы даже можете сделать это "частным". Я не уверен, каков твой стиль, но я бы написал это примерно так:
var MyClass = function(){
var self = this;
self.shutdown = function(){
window.removeEventListener('unload',self.shutdown,false);
};
self.initialize = function() {
window.addEventListener('unload',self.shutdown,false);
};
return self;
};
var myObject = new MyClass();
myObject.initialize();
Полагаю, это зависит от того, что делает MyClass и как вы его используете.