LX: Prototypische Objektorientierung in JavaScript

Beitrag lesen

Ich habe keinen objektorientierten Ansatz.
Ich habe keine Ahnung was prototypische Methoden sind.
Ich habe keine Ahnung ;-(

Das kann man leicht ändern. Stelle Dir vor, Du hast eine Art Schablone, mit denen Du Objekten bestimmte Eigenschaften und Methoden mitgeben kannst. Diese Schablone nennt sich in JavaScript "prototype"; jedes Objekt hat so eine Schablone, wobei sie meistens vom Objekt des jeweiligen Typs (String, Number, Object, Array, etc.) geerbt sind.

Also nehmen wir mal eine Funktion geoLocation und versehen sie mit einer solchen Schablone, in der sich beispielsweise die Methode "geoCode" befindet:

function geoLocation(address, text){  
    // wenn keine Paramter angegeben sind, mache nichts:  
    if (!address && !text) { return; }  
    // ansonsten erzeuge eine neue Instanz mit der eigenen Schablone:  
    var location = new geoLocation();  
    // befülle sie mit den entsprechenden Werten:  
    location.address = address;  
    location.text = text;  
    // und gebe sie zurück:  
    return location;  
};  
geoLocation.prototype={  
    geoCode: function() {  
         // arbeite mit this.address und this.text  
    }  
}  
// dann kannst Du damit folgendes machen:  
geoLocation('Halle-Saale', 'Halle-Saale-Text').geoCode();  
geoLocation('Berlin HBf', 'Total häßlicher Bahnhof').geoCode();

Ich hoffe, das hilft Dir weiter.

Gruß, LX

--
RFC 2324, Satz 7 (Sicherheit): Jeder, der zwischen meinem Kaffee und mir steht, gilt als unsicher.