есть замечательный скрипт для дампа объекта в целях отладки:
function dump( obj ){
var pairs= [];
var blocked= [];
if( obj ) for( var key in obj ){
try{
pairs.push( key + ': ' + obj[ key ] );
} catch( e ){
blocked.push( key );
}
}
if( pairs ) obj+= ' {', pairs.join(', '), '}';
if( blocked ) obj+= '[blocked: ' + blocked.join(', ') + ' ]';
return obj;
}
так вот, сокрытие переменных приводит к тому, что мы не можем полноценно отлаживать приложение, ибо не можем получить полное состояние объекта.