Ученик (105)

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

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