Ajaxer

Javascript punks

JavaScript als funktionale Programmiersprache – Teil 5 – Scopes

| Keine Kommentare

Geltungsbereiche (Scopes)

In JavaScript wird Code in Codeblöcken strukturiert. Anders als in anderen C- ähnlichen Programmiersprachen kontrollieren diese Blöcke aber nicht die Sichtbarkeit von Variablen. In C-ähnlichen Programmiersprachen sind Variablen, die innerhalb eines Blocks definiert werden, nur in diesem Block sichtbar. In JavaScript hingegen sind alle Variablen, die innerhalb einer Funktion definiert werden – nicht nur ab dem Deklarationszeitpunkt – in der ganzen Funktion sichtbar. Deshalb spricht man von einem Funktionsgültigkeitsbereich.


function testScope() {
       if (true) {
          var a = "Ich bin sichtbar";
       }
       console.log(a); 
}
testScope(); // Ich bin sichtbar

Interessant ist, dass eine Variable bereits verfügbar ist, bevor sie überhaupt deklariert wird. Dies macht folgendes Beispiel deutlich:


var somevar = "globale Variable";
(function() {
       console.log(somevar); // undefined
       var somevar = "lokale Variable";
       console.log(somevar); // lokale Variable
})();

Diese Funktion gibt in der ersten Log-Anweisung nicht etwa »globale Variable« aus, sondern »undefined«. Dies liegt daran, dass eine Funktion in zwei Stufen verarbeitet wird. Zunächst werden Variablen, Funktionsdeklarationen und Parameter erzeugt, in der zweiten Stufe wird der Code ausgeführt. Dieses Verhalten wird »hoisting« (heben) genannt.

Da Variablen in einer Funktion immer schon zu Beginn der Funktion erzeugt werden, bietet es sich als guter Programmierstil an, diese auch bereits am Anfang einer Funktion zu deklarieren und mit Defaultwerten zu definieren.


function declaresSomeVars() {
   var hello = "world",
   x = 5,
   y = 10;
  // here comes the code
}

Cover-klein in JavaScript als funktionale Programmiersprache - Teil 5 - Scopes - AjaxerDies ist eine autorisierte Leseprobe aus dem Buch Oliver Ochs – JavaScript für Enterprise-Entwickler: Professionell programmieren im Browser und auf dem Server – dpunkt.verlag GmbH 2012. Weitere Leseproben folgen in Kürze.

Im nächsten Blogbeitrag werden wir uns dem Keyword this widmen,

Autor: Oliver Ochs

Oliver Ochs ist bei der Management- und IT-Unternehmensberatung Holisticon AG in Hamburg tätig. Er beschäftigte sich in den letzten Jahren mit Content Management Systemen, Webframeworks und Portalen auf Java-Basis. In diesem Umfeld arbeitete er als Entwickler, Architekt und Projektleiter. Er hat darüber hinaus Erfahrungen in Schulungen und Coachings. In letzter Zeit setzte er einen seiner Schwerpunkte auch auf Web- Application-Security, Identity-Management und neue Seiten von JavaScript. Ein anderer persönlicher Schwerpunkt sind agile Methoden und Prozesse

Schreib einen Kommentar

Pflichtfelder sind mit * markiert.