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

Мы платим до 300 руб за каждую тысячу уникальных поисковых переходов на Ваш вопрос или ответ Подробнее
1 ОТВЕТ
Знаток (435)

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). Но для этого придется написать отдельную функцию, которая будет это делать.
ПОХОЖИЕ ВОПРОСЫ