Funktionale Erweiterung von JavaScript Anhänge ablösen mit ToolStage.Office – Mail.Attachment

Debug-Funktionen für JavaScript

Häufig sieht man sich bei der Arbeit mit JavaScript mit der Situation konfrontiert, dass man statt mit einer ausgereiften Entwicklungsumgebung mit integriertem Debugger mit einem blanken Texteditor Vorlieb nehmen muss. Insbesondere bei der Arbeit mit DOM-Objekten wird die Fehlersuche dann weniger komfortabel als man es sich vielleicht wünscht :-)

JavaScript bietet nun allerdings die Möglichkeit, bequem Eigenschaften und Methoden von Objekten zur Laufzeit zu erfragen. Damit kann man sich zwei hilfreiche Funktionen basteln, mit denen man Eigenschaftswerte von Objekten sichtbar machen kann.

[code lang="javascript"]
function obj2str (p_Obj) {
var strText = "";
var i = 0;
for (prop in p_Obj) {
strText += i++ + " " + prop + ": " + p_Obj[prop] + "\n";
}
return strText;
}

function printObject (p_Obj) {
var wnd = window.open ();
var str = obj2str (p_Obj);
str = str.replace (/\ str = str.replace (/\>/g, ">");
wnd.document.write ("

<pre><br/>\n " + str + " \n<br/></pre>

");
wnd.focus ();
}

[/code]

Durch den Aufruf von printObject (obj) öffnet sich ein Browserfenster, das alle Eigenschaften von obj inklusive ihrer Inhalte ausgibt.

Zum Debugging von Funktionsaufrufen ist die folgende Funktion hilfreich:

[code lang="javascript"]
Function.prototype.callString=function(){
var args = this.arguments;
var str = this.caller + " \n --calls--> \n \t (";
for (var i = 0; i < args.length - 1; i++) {
str += args[i] + ", ";
}

str += args[args.length-1] + ") \n";
str += this.toString ();
return str;
};
[/code]

Der Aufruf erfolgt über

[code lang="javascript"]
function callString (p_strFuncName) {
var fn = eval (p_strFuncName);
alert (p_strFuncName + ": " + fn.callString ());
}
[/code]

CallString gibt den Code einer Funktion samt Aufrufparameter aus.

Tags:, ,

Bookmarken bei... del.icio.us:Debug-Funktionen für JavaScript furl:Debug-Funktionen für JavaScript Y!:Debug-Funktionen für JavaScript

Ein Kommentar to “Debug-Funktionen für JavaScript”

  1. Herr Bert schreibt:

    Prima! unkompliziert, aber trotzdem sehr hilfreich – genau so, wie es sein soll :-) Danke für den Tipp

Ein Kommentar hinterlassen