Beispiel:JS-nichtlinearer-programmablauf.html
Aus SELFHTML-Wiki
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>Nichtlinearer Programmablauf</title>
<link rel="stylesheet" type="text/css" media="screen" href="./Beispiel:SELFHTML-Beispiel-Grundlayout.css" />
<script>
"use strict";
document.addEventListener("DOMContentLoaded", function () {
function start () {
var alter = 0, minderjaehrig = false;
// hier werden wir nichtlinear
frage("Wie alt sind Sie?", weiter); // weiter ist eine Funktion s.u.
}
function frage (text, callback, braucheBool) {
// Benutzer etwas fragen
var alter;
if (braucheBool) {
alter = confirm(text); // das werden wir ersetzen
} else {
alter = prompt(text); // das werden wir ersetzen
}
callback(alter); // hier geht es mit Ergebnis weiter
}
function weiter (alter) {
if (alter < 18) {
frage(
"Du bist also noch nicht erwachsen?",
// hier definieren wir die callback-Funktion direkt
function (minderjaehrig) {
ende(alter, minderjaehrig);
},
true // benutze confirm anstelle von prompt
);
} else {
ende(alter, false);
}
}
function ende (alter, minderjaehrig) {
// wir haben alter und minderjaehrig abgefragt
alert(
"Alter: " + alter + " ("
+ (minderjaehrig ? "" : "aber nicht ")
+ "minderjährig)"
);
}
// Programm starten
start();
});
</script>
</head>
<body>
<h1>Nichtlinearer Programmablauf</h1>
<main>
<p>Das folgende Programm verläuft nichtlinear.</p>
</main>
</body>
</html>