<script language="JavaScript" type="text/javascript">
function aussen() { var a = 5; document.write("Das Ergebnis ist: "); function innen(){ document.write(a + 3); } innen(); } aussen(); </script>
Ähnlich wie man lokale Variablen innerhalb einer Funktion erstellen kann, besteht auch die Möglichkeit innerhalb einer Funktion eine innere Funktion zu erstellen. Diese kann nur innerhalb der äußeren Funktion aufgerufen werden. Man nennt sie auch Closures.
Man kann von der äußeren Funktion nicht auf die lokalen Variablen der inneren Funktion zugreifen. Man kann aber von der inneren Funktion aus, auf die lokalen Variablen der äußeren Funktion zugreifen.
Bei diesem Thema geht es um Verkapselung, ein Grundprinzip der objektorientierten Programmierung.
var something = (function() { var executed = false; return function() { if (!executed) { executed = true; // do something } }; })(); something();