Apakah ada add-on / application pihak ketiga atau beberapa cara untuk melakukan dumping peta objek di skrip debugger untuk objek JavaScript?
Inilah situasinya ... Saya memiliki metode yang dipanggil dua kali, dan setiap kali ada sesuatu yang berbeda. Saya tidak yakin apa yang berbeda, tetapi ada sesuatu yang berbeda. Jadi, jika saya bisa membuang semua properti window (atau setidaknya window.document) ke editor teks, saya bisa membandingkan status antara dua panggilan dengan diff file sederhana. Pikiran?
javascript
Jessy Houle
sumber
sumber
Jawaban:
Firebug +
console.log(myObjectInstance)
sumber
[object Object]
. Tidak terlalu bergunaconsole.log("my object: %o", myObj)
Jika tidak, Anda akan berakhir dengan representasi string yang terkadang menampilkan:
[object Object]
atau semacamnya.
sumber
my object: %o
. Tidak terlalu membantu :)function mydump(arr,level) { var dumped_text = ""; if(!level) level = 0; var level_padding = ""; for(var j=0;j<level+1;j++) level_padding += " "; if(typeof(arr) == 'object') { for(var item in arr) { var value = arr[item]; if(typeof(value) == 'object') { dumped_text += level_padding + "'" + item + "' ...\n"; dumped_text += mydump(value,level+1); } else { dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n"; } } } else { dumped_text = "===>"+arr+"<===("+typeof(arr)+")"; } return dumped_text; }
sumber
if (level > 10) return level_padding + '<< too deep >>';
Jika Anda menggunakan Chrome, Firefox atau IE10 + mengapa tidak memperluas konsol dan menggunakan
(function() { console.dump = function(object) { if (window.JSON && window.JSON.stringify) console.log(JSON.stringify(object)); else console.log(object); }; })();
untuk solusi lintas-browser yang ringkas.
sumber
Gunakan saja:
console.dir(object);
Anda akan mendapatkan representasi objek yang dapat diklik. Berfungsi di Chrome dan Firefox
sumber
console.dir({bar:"foo"});
Apakah objek Anda menimpa metode toString?Untuk Chrome / Chromium
console.log(myObj)
atau itu setara
console.debug(myObj)
sumber
untuk keterbacaan yang lebih baik, Anda dapat mengonversi objek menjadi string json seperti di bawah ini:
console.log(obj, JSON.stringify(obj));
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
sumber
Menggunakan
console.log(object)
akan membuang objek Anda ke konsol Javascript, tetapi itu tidak selalu yang Anda inginkan. MenggunakanJSON.stringify(object)
akan mengembalikan sebagian besar barang untuk disimpan dalam variabel, misalnya untuk mengirimnya ke input textarea dan mengirimkan konten kembali ke server.sumber
Di Chrome, klik 3 titik dan klik Alat lainnya dan klik pengembang. Di konsol, ketik console.dir (yourObject). Klik link ini untuk melihat contoh gambar
sumber