Die Ablaufverfolgung in JavaScript unter Firefox 49
Beim Eintritt in die Funktion »f0« wird die Ablaufverfolgung mit dem Kommando »debugger;« aktiviert.
Das folgende Beispiel konnte 2020 nicht mehr mit Firefox, aber mit Chrome nachvollzogen werden.
- Auswertung
f0 = x =>
{
debugger;
x = x + 1;
console.log( x );
const y = x/3;
const fy = Math.floor( y );
const fn = "f" + fy;
const call = fn + "( x )";
eval( call );
};f1 = x => 0;
f0( 0 );
1
2
3
Man kann das Skript nun mit der Funktionstaste F11 zeilenweise abarbeiten lassen und dabei die momentanen Werte der Variablen und Konstanten sehen. (Weitere Funktionstasten sind: F10 zum Abarbeiten ohne Verfolgung des Ablaufes aufgerufener Funktionen, Umschalt-F11 zur Fortsetzung der aktuellen Inkarnation ohne Anzeige des weiteren Ablaufes jener Inkarnation und F8 zum Fortsetzen ohne weitere Anzeige des Ablaufs [bis zu einer eventuell weiteren Ausführung der Anweisung »debugger;«].)
Da die Ablaufverfolgung zeilenweise arbeitet, haben wir im Skript darauf geachtet, daß im Block ein einzelnes Kommando jeweils alleine auf einer Zeile steht. So kann man mit der Funktionstaste F11 jeweils ein Kommando abarbeiten lassen.
So sollte man nachvollziehen können, wie das Skript gerade die Numeralia »1«, »2« und »3« ausgibt.
Die Konsole kann mit Esc versteckt oder angezeigt werden.
Die Ablaufverfolgung kann über die Anwahl von „Debugger“ (o. ä.) im Menü „Web Developer“ (o. ä.) im Menü „Werkzeuge“ (o. ä.) oder mit Umschalt-Strg-S ein- oder ausgeschaltet werden. Durch das Ausschalten wird sie auch zurückgesetzt.