Wenn sie alle im globalen Bereich zugewiesen wurden und Sie nicht über iframe
/ window
Grenzen, und Sie brauchen nicht zu tun, dies in IE (z. B. Sie sind nur versuchen, etwas zu debuggen), sollten Sie in der Lage sein, über den globalen Bereich zu iterieren:
var fooObjects = [];
for(var key in window) {
var value = window[key];
if (value instanceof foo) {
// foo instance found in the global scope, named by key
fooObjects.push(value)
}
}
Buuuuut Sie haben wahrscheinlich einige foos instanziiert innerhalb Funktionen irgendwo, in diesem Fall sind sie nicht verfügbar.
Sie können vielleicht versuchen, den Konstruktor vor der Instanziierung zu ändern:
var fooObjects = [];
var oldFoo = window.foo;
window.foo = function() {
fooObjects.push(this);
return oldFoo.apply(this, arguments);
}
foo.prototype = oldFoo.prototype;