Fortgeschrittene OO-Programmierung in Javascript

Listing 4 - 6

Listing 4: Der instanceof-Operator

var toni = new Person("Toni", "Mustermann");
var max = new Employee("Max", "Muster", "Sales");
alert(toni instanceof Person); // true
alert(toni instanceof Employee); // false
alert(max instanceof Person); // true
alert(max instanceof Employee); // true

Listing 5: Closures

var inner;
function outer() {
var x = 5;
inner = function() {
x++;
alert(x);
}
}
// Erzeugen einer Closure, die x enthält
outer();
// Funktion aufrufen, die auf die Closure zugreift
inner(); // Ausgabe: "6"
inner(); // Ausgabe: "7"

Listing 6: Kapselung mit Closures

function Person(firstName, lastName) {
var title;
this.setTitle = function(t) {
title = t;
}
this.getName = function() {
return title + " " + firstName + " " + lastName;
};
}
var testPerson = new Person("Max", "Muster");
testPerson.setTitle("Dr.");
alert(testPerson.getName()); // Ausgabe: "Dr. Max Muster"