Ученик (105)

Как сделать var_dump в JavaScript? Желательно расписать все подобъекты тоже...

Регистрируйтесь, делитесь ссылками в соцсетях, получайте на WMR кошелек 20% с каждого денежного зачисления пользователей, пришедших на проект по Вашей ссылке. Подробнее
После регистрации Вы также сможете получать до 175 руб за каждую тысячу уникальных поисковых переходов на Ваш вопрос или ответ Подробнее
ОТВЕТЫ
Знаток (425)

var ashift = 0;
function obj_dump(obj) {
ashift += 1;
if (ashift>15) {return;}
var i;
var new_obj;
for (i in obj) {
if (obj[i] == obj) {continue;}
if (typeof(obj[i]) == 'object') {
document.write(ashift+': ('+obj[i]+') <RECURSION><br/>');
new_obj = obj[i];
obj_dump(new_obj);
document.write(ashift+': ('+obj[i]+') </RECURSION><br/>');
} else {
document.write(ashift+': obj[' + i + '] = ' + obj[i] + '<br/>');
}
}
ashift -= 1;
}


Вместо ashift (который будет показывать уровень вложенности описываемого объекта) можете вставлять ashift неких символов, например пробелов, _ или табуляции (\t). Но для этого придется написать отдельную функцию, которая будет это делать.