473 Stimmen

Inhalt eines JavaScript-Objekts drucken?

Normalerweise verwenden wir nur alert(object); wird es angezeigt als [object Object] . Wie druckt man alle Inhaltsparameter eines Objekts in JavaScript?

14voto

Nikunj K. Punkte 8071

Inhalt des Objekts drucken, das Sie verwenden können

console.log(obj_str);

können Sie das Ergebnis in der Konsole wie unten sehen.

Object {description: "test"} 

Um die Konsole zu öffnen, drücken Sie F12 im Chrome-Browser. Sie finden dann die Registerkarte Konsole im Debug-Modus.

8voto

Jonathan Feinberg Punkte 43293

Sie sollten Folgendes in Betracht ziehen FireBug für die Fehlersuche in JavaScript. Damit können Sie alle Ihre Variablen interaktiv untersuchen und sogar Funktionen schrittweise durchlaufen.

7voto

OverLex Punkte 2441

Verwenden Sie dir(object). Oder Sie können immer herunterladen Firebug für Firefox (sehr hilfreich).

3voto

Eduardo Cuomo Punkte 15791

Javascript für alle!

String.prototype.repeat = function(num) {
    if (num < 0) {
        return '';
    } else {
        return new Array(num + 1).join(this);
    }
};

function is_defined(x) {
    return typeof x !== 'undefined';
}

function is_object(x) {
    return Object.prototype.toString.call(x) === "[object Object]";
}

function is_array(x) {
    return Object.prototype.toString.call(x) === "[object Array]";
}

/**
 * Main.
 */
function xlog(v, label) {
    var tab = 0;

    var rt = function() {
        return '    '.repeat(tab);
    };

    // Log Fn
    var lg = function(x) {
        // Limit
        if (tab > 10) return '[...]';
        var r = '';
        if (!is_defined(x)) {
            r = '[VAR: UNDEFINED]';
        } else if (x === '') {
            r = '[VAR: EMPTY STRING]';
        } else if (is_array(x)) {
            r = '[\n';
            tab++;
            for (var k in x) {
                r += rt() + k + ' : ' + lg(x[k]) + ',\n';
            }
            tab--;
            r += rt() + ']';
        } else if (is_object(x)) {
            r = '{\n';
            tab++;
            for (var k in x) {
                r += rt() + k + ' : ' + lg(x[k]) + ',\n';
            }
            tab--;
            r += rt() + '}';
        } else {
            r = x;
        }
        return r;
    };

    // Space
    document.write('\n\n');

    // Log
    document.write('< ' + (is_defined(label) ? (label + ' ') : '') + Object.prototype.toString.call(v) + ' >\n' + lg(v));
};

// Demo //

var o = {
    'aaa' : 123,
    'bbb' : 'zzzz',
    'o' : {
        'obj1' : 'val1',
        'obj2' : 'val2',
        'obj3' : [1, 3, 5, 6],
        'obj4' : {
            'a' : 'aaaa',
            'b' : null
        }
    },
    'a' : [ 'asd', 123, false, true ],
    'func' : function() {
        alert('test');
    },
    'fff' : false,
    't' : true,
    'nnn' : null
};

xlog(o, 'Object'); // With label
xlog(o); // Without label

xlog(['asd', 'bbb', 123, true], 'ARRAY Title!');

var no_definido;
xlog(no_definido, 'Undefined!');

xlog(true);

xlog('', 'Empty String');

2voto

cnpfm Punkte 1415

Sie können auch die Prototype-Methode Object.inspect() verwenden, die "die debug-orientierte String-Darstellung des Objekts zurückgibt".

http://api.prototypejs.org/language/Object/inspect/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X