Di Firebug, tab DOM menampilkan daftar semua variabel dan objek publik Anda. Di konsol Chrome, Anda harus mengetik nama variabel publik atau objek yang ingin Anda jelajahi.
Apakah ada cara - atau setidaknya perintah - untuk konsol Chrome untuk menampilkan daftar semua variabel dan objek publik? Ini akan menghemat banyak pengetikan.
object
, mengapa tidak memilikinya?[[Prototype]]
properti internal obyek global adalah tergantung implementasi , di hampir semua implementasi utama -V8, Spidermonkey, Rhino, dll-, mewarisi obyek global di beberapa titik dariObject.prototype
, tapi misalnya dalam implementasi lainnya -JScript, Besen, DMDScript, dll ..- tidak, jadiwindow.hasOwnProperty
tidak ada, untuk mengujinya kita dapat:Object.prototype.isPrototypeOf(window);
for(var b in window) { if(window.hasOwnProperty(b)) console.log(b+" = "+window[b]); }
Ketika eksekusi skrip dihentikan (misalnya, pada breakpoint) Anda bisa melihat semua global di panel kanan jendela Tools Developer:
sumber
Buka konsol dan kemudian masukkan:
keys(window)
untuk melihat variabeldir(window)
untuk melihat objeksumber
dir(Function("return this")())
membuatnya bekerja di Web Pekerja jugadir(window)
tidak bekerja di Firefox (ya saya tahu utas ini tentang Chrome), tetapikey(window)
bekerja di FirefoxThe
window
objek berisi semua variabel publik, sehingga Anda dapat mengetik di konsol dan kemudian memperluas untuk melihat semua variabel / atribut / fungsi.sumber
Jika Anda ingin mengecualikan semua properti standar objek jendela dan melihat global spesifik aplikasi, ini akan mencetaknya ke konsol Chrome:
Script berfungsi dengan baik sebagai bookmarklet. Untuk menggunakan skrip sebagai bookmarklet, buat bookmark baru dan ganti URL dengan yang berikut:
sumber
David Walsh memiliki solusi yang bagus untuk ini. Inilah pendapat saya tentang ini, menggabungkan solusinya dengan apa yang telah ditemukan di utas ini juga.
https://davidwalsh.name/global-variables-javascript
x
sekarang hanya memiliki global.sumber
prop.toString
tampaknya tidak ada di mana-mana, jadi kondisinya bisa lebih defensifif(window.hasOwnProperty(b) && prop && (prop.toString && !prop.toString().includes('native code')) && !standardGlobals.includes(b))
Ketikkan pernyataan berikut di konsol javascript:
Sekarang Anda dapat memeriksa ruang lingkup global menggunakan alat debug normal.
Agar adil, Anda akan mendapatkan semua yang ada di
window
ruang lingkup, termasuk browser bawaan, jadi itu mungkin semacam pengalaman jarum-in-a-tumpukan jerami. : /sumber
Anda mungkin ingin mencoba ekstensi Firebug lite ini untuk Chrome.
sumber
Untuk melihat variabel apa pun di chrome, buka "Sumber", lalu "Tonton" dan tambahkan. Jika Anda menambahkan variabel "jendela" di sini maka Anda dapat mengembangkannya dan menjelajah.
sumber
Metode yang diperbarui dari artikel yang sama yang disebutkan Avindra - menyuntikkan iframe dan membandingkan
contentWindow
propertinya dengan properti jendela global.sumber
Ketik:
this
di konsol,untuk mendapatkan
window object
I think (?), saya pikir pada dasarnya sama dengan mengetikwindow
di konsol.Ini berfungsi setidaknya di Firefox & chrome.
sumber
Karena semua "variabel publik" sebenarnya adalah properti dari objek jendela (dari jendela / tab yang Anda lihat), Anda dapat memeriksa objek "jendela" saja. Jika Anda memiliki banyak bingkai, Anda harus memilih objek jendela yang benar (seperti di Firebug).
sumber
Coba perintah sederhana ini:
sumber
Daftar variabel dan nilainya
Menampilkan nilai objek variabel tertentu
Sumber: komentar dari @ north-bradley dan jawaban dari @ nick-craver
sumber
sumber