O for
- in
loops para cada propriedade em um objeto ou matriz. Você pode usar essa propriedade para obter o valor, bem como alterá-lo.
Nota: Propriedades privadas não estão disponíveis para inspeção, a menos que você use um "espião"; basicamente, você sobrescreve o objeto e escreve algum código que faz um loop for-in dentro do contexto do objeto.
Para em parece:
for (var property in object) loop();
Alguns exemplos de código:
function xinspect(o,i){
if(typeof i=='undefined')i='';
if(i.length>50)return '[MAX ITERATIONS]';
var r=[];
for(var p in o){
var t=typeof o[p];
r.push(i+'"'+p+'" ('+t+') => '+(t=='object' ? 'object:'+xinspect(o[p],i+' ') : o[p]+''));
}
return r.join(i+'\n');
}
// example of use:
alert(xinspect(document));
Edit: Algum tempo atrás, eu escrevi meu próprio inspetor, se você estiver interessado, fico feliz em compartilhar.
Editar 2: Bem, eu escrevi um de qualquer maneira.
console.log
no firefox ou no Chrome