есть замечательный скрипт для дампа объекта в целях отладки:
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;
}
так вот, сокрытие переменных приводит к тому, что мы не можем полноценно отлаживать приложение, ибо не можем получить полное состояние объекта.