Interaktion mit globalen Variablen
JavaScript unterstützt außerdem die Anwendung globaler Variablen. Der Geltungsbereich der Variable g_area ist aus dem nachstehenden Ausschnitt ersichtlich:
<HTML> <SCRIPT> var g_area = 20; function Figure() { … this.area=g_area; … } function Rectangle(){ … } Rectangle.prototype = new Figure(); function test(){ g_area = 40; rect = new Rectangle(); alert(rect.area); } </SCRIPT> <BODY onLoad = 'test()'/> </BODY> </HTML>
Der Wert von rect.area ist 20 (nicht 40, wie man vielleicht erwarten würde), da Rectangle ein Prototyp des Objekts Figure ist und diese Beziehung bereits bestand, als test() aufgerufen wurde. Um den neuen Wert von g_area anzuwenden, muss man folgendes tun:
function test() { g_area = 40; Rectangle.prototype = new Figure(); rect = new Rectangle(); alert(rect.area); }
Hierdurch ändert sich der Wert der Eigenschaft area für alle neuen Instanzen von Rectangle. Alternativ kann man auch wie folgt vorgehen:
function test() { g_area = 40; rect = new Rectangle(); Rectangle.prototype.area = g_area; alert(rect.area); }
Hierdurch ändert sich der Wert der Eigenschaft area für alle bestehenden und neuen Instanzen von Rectangle.
Fazit
JavaScript bietet alle Eigenschaften wie Vererbung, Kapselung und des Außer-Kraft-Setzens, die zum Imitieren einer OO-Entwicklung erforderlich sind, obwohl es weder Schnittstellen noch Methodenüberladung unterstützt. Ist man auf dem Gebiet der OO-Entwicklung noch neu, sollte man es einmal versuchen. OO-Konzepte machen es Entwicklern möglich, eine zusammengehörende Reihe von Daten und Operationen in einem Objekt zu bündeln. Dies ist beim Umgang mit Browser-Events ebenso wie mit SVG-Bildern in einem Browser nützlich.
Betroffen sind Lösungen von Cisco, Fortinet, SonicWall und anderen Anbietern. Die Hacker nehmen Konten mit…
Immer häufiger müssen sich Betriebe gegen Online-Gefahren wehren. Vor allem in KMUs werden oft noch…
Darunter ist ein weiterer Sandbox-Escape. Angreifer können unter Umständen aus der Ferne Schadcode einschleusen und…
Sie steigt auf 8 Prozent Wachstum in diesem Jahr. Der Bereich IT-Services wächst in diesem…
Die Hintermänner stammen mutmaßlich aus Russland und haben staatliche Unterstützung. Die Backdoor Kapeka wird seit…
Cyberkriminelle haben auf Zahlungs- und Zugangsdaten abgesehen. LinkedIn landet auf dem ersten Platz. Zudem verhelfen…