Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> dump переменной 
V
    Опции темы
bars80080
Дата 7.5.2008, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



собсна, всегда напрягает, когда нужно лишку что-то делать, типа обращаться к фаербагам и т.п.
гораздо проще при вёрстке сайта, уже иметь нужную функцию, которая выдаст тебе всю подноготную переменной

вот озаботился и написал аналог var_dump пхпшного.
на суд вам:
Код

/*****   dumper functions   ***************************************************/
function dump_for(az, level, durch) {
    var k = 0, s = '', otstup = '';
    for(var o = 0; o < level; o++) otstup += '    ';
    for(var j in az) { k++; }
    if(k == 0) { 
        if(!isNaN(az)) s += 'int: ';
        else s += 'string: ';
        return (s + '"' + az + '"'); }
    else {  
        for(var i in az) {
            s += durch + otstup + i + " => ";
            s += dump_for(az[i], (level + 1), durch); }
        return s; }}
function dump(massa, durch) {
    level = 0;
    return dump_for(massa, level, durch); }
/******************************************************************************/

var qw = new Array();
qw[0] = 23;
qw[1] = 43;
qw[5] = 56;
qw['as'] = 11;
qw[6] = new Array(1, 2, 'rf', 5);
qw[6][4] = new Array('34', 34);
qw[8] = 12;
as = '23';

document.write('<pre>' + dump(qw, '<br />') + '</pre>');
alert(dump(qw, '\r\n'));


правда под ФФ не хочет, пишет 
Цитата
Ошибка: too much recursion
Источник: http://localhost/js/__array.php
Строка: 14
 почему ему слишком много?

Это сообщение отредактировал(а) bars80080 - 7.5.2008, 16:46
PM MAIL WWW   Вверх
ksnk
Дата 7.5.2008, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



O!
Код

/*****   dumper functions   ***************************************************/
function dump_for(az, level, durch) {
    if(az.__lookingfor) return '!!!recursion!!!';
    var k = 0, s = '', otstup = '';
    for(var o = 0; o < level; o++) otstup += '    ';
    for(var j in az) { k++; }
    if(typeof(az)=='string') s+='string: \'' + az + '\'';
    else if(!isNaN(az)) s += 'int: "' + az + '"' ;
    else {  
        az.__lookingfor=1;
        for(var i in az) 
            if(i!='__lookingfor'){
                s += durch + otstup + i + " => ";
                s += dump_for(az[i], (level + 1), durch);
            }
        delete(az.__lookingfor); 
    }
    return s ;
}

вот так будет работать и даже рекурсивные списки будет в меру разумно отображать...

проблема была в том, что у объекта string есть свойства smile

Это сообщение отредактировал(а) ksnk - 7.5.2008, 17:54


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
smartov
Дата 7.5.2008, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Решил поискать - наверняка же уже писали (понимаю что ты писал в первую очередь для себя - я не сравнивать)

Вот неплохой var_dump
http://snippets.dzone.com/posts/show/4296

Добавлено через 7 минут и 1 секунду
Вот еще конкретно для массивов и хешей
http://binnyva.blogspot.com/2005/10/dump-f...ivalent-of.html

Думаю интересно было бы скрестить их

Это сообщение отредактировал(а) smartov - 7.5.2008, 17:58
PM MAIL   Вверх
bars80080
Дата 7.5.2008, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



вот, ksnk, теперь блестит


smartov,  smile 
выглядит не блеск, а полировать её, впадлу от одного вида
хотя, если бы нашёл её раньше, это бы не писал
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.4810 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.