dump() für Javascript?

Begonnen von schnitzel, 05 Jan 2010, 17:20

« vorheriges - nächstes »
Nach unten

schnitzel

HI!

ich fummel jetzt den ganzen Tag an einem kleinen Javascript und mir fehlt eine Möglichkeit das vernünftig zu debuggen. Ich denke da an so eine Art dump() von Variablen, so wie man das von PHP kennt.

Vllt. hat da jemand eine heissen Tipp?

Chris

#1
05 Jan 2010, 22:00 Last Edit: 05 Jan 2010, 22:01 by Chris
Hallo schnitzel

schau dir mal die Funktion hier an, ich denke dir hilft dir weiter:

/**
* Concatenates the values of a variable into an easily readable string
* by Matt Hackett [scriptnode.com]
* @param {Object} x The variable to debug
* @param {Number} max The maximum number of recursions allowed (keep low, around 5 for HTML elements to prevent errors) [default: 10]
* @param {String} sep The separator to use between [default: a single space ' ']
* @param {Number} l The current level deep (amount of recursion). Do not use this parameter: it's for the function's own use
*/
function print_r(x, max, sep, l) {

l = l || 0;
max = max || 10;
sep = sep || ' ';

if (l > max) {
return "[WARNING: Too much recursion]\n";
}

var i, r='', t=typeof x,tab = '';

if (x === null) {
r += "(null)\n";
} else if (t == 'object') {

l++;

for (i = 0; i < l; i++) {
tab += sep;
}

if (x && x.length) {
t = 'array';
}

r += '(' + t + ") :\n";

for (i in x) {
try {
r += tab + '[' + i + '] : ' + print_r(x[i], max, sep, (l + 1));
} catch(e) {
return "[ERROR: " + e + "]\n";
}
}
} else {
if (t == 'string') {
if (x == '') {
x = '(empty)';
}
}
r += '(' + t + ') ' + x + "\n";
}
return r;
};

Chris

#2
05 Jan 2010, 22:05 Last Edit: 11 Jan 2010, 23:17 by Chris
Nachtrag:

Wenn du nicht in jedes deiner Scripte eine solche Funktion unterbringen willst kannst du auch etwas unabhängiges im Browser nutzen, bei Firebug heißt das Console:

http://getfirebug.com/console.html

schnitzel


Nach oben