JS - аналог PHP-функции print_r()

Статус
В этой теме нельзя размещать новые ответы.

Zolinger

Постоялец
Регистрация
29 Сен 2008
Сообщения
111
Реакции
69
Любому PHP-программисту наверняка известна функция print_r (”print readable”), позволяющая вывести переменную в читаемом виде, независимо от ее типа, будь то массив или объект. Почему такой функции нет в Javascript я не понимал и не понимаю до сих пор. К счастью, Для просмотра ссылки Войди или Зарегистрируйся написал javascript-аналог:
PHP:
function print_r(theObj){
  if(theObj.constructor == Array ||
     theObj.constructor == Object){
    document.write("<ul>")
    for(var p in theObj){
      if(theObj[p].constructor == Array||
         theObj[p].constructor == Object){
document.write("<li>["+p+"] => "+typeof(theObj)+"</li>");
        document.write("<ul>")
        print_r(theObj[p]);
        document.write("</ul>")
      } else {
document.write("<li>["+p+"] => "+theObj[p]+"</li>");
      }
    }
    document.write("</ul>")
  }
}
print_r(prods);
 
А Для просмотра ссылки Войди или Зарегистрируйся
совсем не помогает?


Любому PHP-программисту наверняка известна функция print_r (”print readable”), позволяющая вывести переменную в читаемом виде, независимо от ее типа, будь то массив или объект. Почему такой функции нет в Javascript я не понимал и не понимаю до сих пор. К счастью, Для просмотра ссылки Войди или Зарегистрируйся написал javascript-аналог:
PHP:
function print_r(theObj){
  if(theObj.constructor == Array ||
     theObj.constructor == Object){
    document.write("<ul>")
    for(var p in theObj){
      if(theObj[p].constructor == Array||
         theObj[p].constructor == Object){
document.write("<li>["+p+"] => "+typeof(theObj)+"</li>");
        document.write("<ul>")
        print_r(theObj[p]);
        document.write("</ul>")
      } else {
document.write("<li>["+p+"] => "+theObj[p]+"</li>");
      }
    }
    document.write("</ul>")
  }
}
print_r(prods);
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху