[OpenLayers-Dev] destroy
Tim Schaub
tschaub at opengeo.org
Thu Jan 8 18:56:31 EST 2009
Hey-
We don't currently have a uniform way of determining if an OpenLayers
object has been "destroyed". I'm wondering what people think of adding
something like this:
OpenLayers.Object.destroy = function(obj) {
for(var prop in obj) {
delete obj[prop];
}
obj.valueOf = function() {
return false;
};
}
Then we could use the following to decide if something has already been
destroyed:
obj == false // true after OpenLayers.Object.destroy(obj)
Benefits:
We'd have a uniform way of determining if the destroy method had been
called.
Drawbacks:
This only works for the level of type coercion done by the equality
operator. The logical not operator still considers the object truthy
(so !OpenLayers.Object.destroy(obj) === false). So, we'd probably still
end up doing things like this (to test undefined or destroyed):
if(obj && obj != false) {...}
Also, maybe we're better off checking explicitly for properties as we do
currently (!obj.events etc.)
Any opinions?
Tim
--
Tim Schaub
OpenGeo - http://opengeo.org
Expert service straight from the developers.
More information about the Dev
mailing list