Object.getOwnPropertyNames は、オブジェクトのプロパティ名であるkeysの配列を返します。
配列をループしてオブジェクトを参照する必要があります。
var O=// an object instance;
var A= Object.getOwnPropertyNames(O).map(function(itm){
try{
return itm+':'+O[itm];
}
catch(er){
return itm+': ERROR!'+er.message;
}
});
alert(A.join('\n'));
キーがオブジェクトを参照している場合は、再帰的なメソッドが必要になります-
function deepProps(O){
var arr= Object.getOwnPropertyNames(O).map(function(itm){
var hoo= O[itm];
try{
if(hoo== window){
return '\n'+itm+': window';
}
if(hoo){
if(hoo.nodeName) return itm+': '+ hoo.nodeName;
if(typeof O[itm]== 'object'){
return '\n\n'+itm+':\n'+deepProps(O[itm]);
}
return itm+': '+O[itm];
}
return itm+': null';
}
catch(er){
return itm+': '+ 'ERROR! '+er.message;
}
})
return arr.join('\n');
}