Ученик (105)

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

Регистрируйтесь, делитесь ссылками в соцсетях, получайте на WMR кошелек 20% с каждого денежного зачисления пользователей, пришедших на проект по Вашей ссылке. Подробнее
После регистрации Вы также сможете получать до 75 руб за каждую тысячу уникальных поисковых переходов на Ваш вопрос или ответ Подробнее
ОТВЕТЫ
Знаток (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). Но для этого придется написать отдельную функцию, которая будет это делать.