In Firebug wird auf der Registerkarte DOM eine Liste aller Ihrer öffentlichen Variablen und Objekte angezeigt. In der Chrome-Konsole müssen Sie den Namen der öffentlichen Variablen oder des öffentlichen Objekts eingeben, die Sie untersuchen möchten.
Gibt es eine Möglichkeit - oder zumindest einen Befehl - für die Chrome-Konsole, eine Liste aller öffentlichen Variablen und Objekte anzuzeigen? Das spart viel Tipparbeit.
object
, warum sollte sie es nicht haben?[[Prototype]]
interne Eigenschaft des globalen Objekts ist implementierungsabhängig . In fast allen wichtigen Implementierungen - V8, Spidermonkey, Rhino usw. - erbt das globale Objekt irgendwann vonObject.prototype
, aber beispielsweise in anderen Implementierungen - JScript, BESEN, DMDScript usw. ..- es existiert nicht, alsowindow.hasOwnProperty
existiert es nicht, um es zu testen, können wir:Object.prototype.isPrototypeOf(window);
for(var b in window) { if(window.hasOwnProperty(b)) console.log(b+" = "+window[b]); }
Wenn die Skriptausführung angehalten wird (z. B. an einem Haltepunkt), können Sie einfach alle globalen Elemente im rechten Bereich des Fensters "Entwicklertools" anzeigen:
quelle
Öffnen Sie die Konsole und geben Sie Folgendes ein:
keys(window)
Variablen sehendir(window)
Objekte sehenquelle
dir(Function("return this")())
macht es auch in Web Workers funktionierendir(window)
funktioniert nicht in Firefox (ja, ich weiß, in diesem Thread ging es um Chrome), aberkey(window)
es funktioniert in FirefoxDas
window
Objekt enthält alle öffentlichen Variablen, sodass Sie es in die Konsole eingeben und dann erweitern können, um alle Variablen / Attribute / Funktionen anzuzeigen.quelle
Wenn Sie alle Standardeigenschaften des Fensterobjekts ausschließen und anwendungsspezifische Globals anzeigen möchten, werden diese auf der Chrome-Konsole gedruckt:
Das Skript funktioniert gut als Lesezeichen. Um das Skript als Lesezeichen zu verwenden, erstellen Sie ein neues Lesezeichen und ersetzen Sie die URL durch die folgende:
quelle
David Walsh hat dafür eine gute Lösung. Hier ist meine Meinung dazu, indem ich seine Lösung mit dem kombiniere, was auch in diesem Thread entdeckt wurde.
https://davidwalsh.name/global-variables-javascript
x
Jetzt hat nur noch die Globalen.quelle
prop.toString
scheint nicht überall zu existieren, daher könnte der Zustand defensiver seinif(window.hasOwnProperty(b) && prop && (prop.toString && !prop.toString().includes('native code')) && !standardGlobals.includes(b))
Geben Sie die folgende Anweisung in die Javascript-Konsole ein:
Jetzt können Sie den globalen Bereich mit den normalen Debug-Tools überprüfen.
Um fair zu sein, Sie erhalten alles im
window
Umfang, einschließlich integrierter Browser, so dass es sich möglicherweise um eine Art Nadel-im-Heuhaufen-Erlebnis handelt. : /quelle
Möglicherweise möchten Sie diese Firebug Lite- Erweiterung für Chrome ausprobieren .
quelle
Um eine Variable in Chrome anzuzeigen, gehen Sie zu "Quellen" und dann zu "Beobachten" und fügen Sie sie hinzu. Wenn Sie hier die Variable "Fenster" hinzufügen, können Sie sie erweitern und erkunden.
quelle
Aktualisierte Methode aus demselben Artikel, den Avindra erwähnt hat - fügt iframe ein und vergleicht seine
contentWindow
Eigenschaften mit den Eigenschaften globaler Fenster.quelle
Geben Sie Folgendes ein:
this
in die Konsole,Um das zu bekommen,
window object
denke ich (?), denke ich, dass es im Grunde dasselbe ist wie das Eingebenwindow
in die Konsole.Es funktioniert zumindest in Firefox & Chrome.
quelle
Da alle "öffentlichen Variablen" tatsächlich Eigenschaften des Fensterobjekts (des Fensters / der Registerkarte, die Sie betrachten) sind, können Sie stattdessen nur das "Fenster" -Objekt überprüfen. Wenn Sie mehrere Frames haben, müssen Sie trotzdem das richtige Fensterobjekt auswählen (wie in Firebug).
quelle
Versuchen Sie diesen einfachen Befehl:
quelle
Listen Sie die Variable und ihre Werte auf
Zeigen Sie den Wert eines bestimmten variablen Objekts an
Quellen: Kommentar von @ Northern-Bradley und Antwort von @ Nick-Craver
quelle
quelle