Javascript - Dumping aller globalen Variablen
Gibt es eine Möglichkeit in Javascript, um eine Liste oder einen dump der Inhalt aller globalen Variablen, die von Javascript - /jQuery-Skript auf einer Seite? Ich interessiere mich besonders für die arrays. Wenn ich den array-Namen, es wird genug sein, um mich. Zu sehen, seine Werte, ist ein bonus.
InformationsquelleAutor der Frage SpaceDog | 2011-12-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dadurch erhalten Sie ein Array mit allen enumerable Eigenschaften der
window
Objekt, (das sind Globale Variablen).Für ältere Browser, gehören das Kompatibilitäts-patch von MDN.
Sehen seine Werte, dann ist klar, Sie wollen einfach nur eine typische-enumerator, wie
for-in
.Sollten Sie beachten, dass ich erwähnt, dass diese Methoden nur geben Sie enumerable Eigenschaften. In der Regel werden diejenigen, die nicht gebaut-in durch die Umwelt.
Es ist möglich, hinzufügen nicht-zählbare Eigenschaften in ES5 unterstützten Browser. Diese wird nicht aufgenommen werden in
Object.keys
oder wenn Sie einenfor-in
- Anweisung.Wie bereits von @Raynoskönnen Sie
Object.getOwnPropertyNames( window )
für nicht-enumerables. Ich wusste nicht, dass. Danke @Raynos!So zu sehen, wie die Werte, die zählen enumerables, würden Sie wollen, dies zu tun:
InformationsquelleAutor der Antwort RightSaidFred
Da alle globalen Variablen sind Eigenschaften des
window
Objekt, Sie können Sie verwenden:Da alle Standard - /geerbte Eigenschaften sind nicht plain arrays (meist host-Objekte oder Funktionen), die
Array.isArray
überprüfen ausreichend ist.InformationsquelleAutor der Antwort pimvdb
Die folgende Funktion nur dumps Globale Variablen, wurden Hinzugefügtum das Fenster Objekt:
Es arbeitet mit einem iframe um eine saubere Liste der globalen window-Variablen, die dann einen Vergleich mit der Liste der globalen Variablen in das aktuelle Fenster. Es verwendet eine Schaltfläche, da der iframe wird asynchron ausgeführt. Der code verwendet eine Globale variable, weil das macht den code leichter zu verstehen.
Können Sie sehen, dass es funktioniert hier oder hierobwohl beachten Sie, dass diese Beispiele zeigen, dass viele Globale Variablen "durchgesickert" jsbin sich (unterschiedlich, je nachdem, auf welchen link Sie verwenden).
InformationsquelleAutor der Antwort robocat
Bekommen "globals" - Objekt mit dieser Funktion können Sie:
Hier ist der test:
http://jsfiddle.net/EERuf/
InformationsquelleAutor der Antwort c-smile
window
ist das Globale Objekt in einem browser, und Sie können einefor..in
- Schleife, um durch seine Eigenschaften:InformationsquelleAutor der Antwort Ry-
Können Sie npm-Paket namens get-globals. Es vergleicht die Eigenschaften der
window
mit frisch erstelltiframe
zu drucken, nur deklarierte Variablen, die von dev(s), nicht-browser-Hersteller.InformationsquelleAutor der Antwort Remek Ambroziak
Greasymonkey-Skript zu bekommen, die geleckt globals
Verwenden, führen Sie in console
SCI.diff()
man Liste von Namen oderSCI.diffObj()
zu bekommen-Objekt mit VariablenInformationsquelleAutor der Antwort BugaBuga