Direkt zum Hauptbereich

Javascript und prototyping ;)

Javascript mach erst so richtig Laune wenn man das ganze in schönen klassen, also nennen wirs klassen kapselt.

Was mir heute aufgefallen ist. Bei der Verwendung von Prototyping und mehrfacher Instanzierung eines Objektes welches von einem Objekt Erbt via prototyping. So sind alle Arrays bei diesem "Mutter" Objekt für alle instanzierten Objekte darunter gleich. Sie sind also Statisch verfügbar. Das kann erwünschte wie unerwünschte Effekte haben.

Hier ein kleines Code Beispiel:
 var car = function () {
                  this.doors = new Array();
} ;


      car.prototype.addDoors = function (door) {
         
                 this.doors.push(door);

};



var cabrio = function () {
    this.init();
};

cabrio.prototype = new car();

cabrio.prototype.init = function () {
      this.addDoors({door:blue});
};


var MyFirstCabrio = new cabrio(); // jetzt wird eine neue Instanz der Klasse cars erstellt

var MySecondCabrio = new cabrio(); //jetzt wird die alte Instanz der Klasse cars benutzt


Gut zu wissen ;)

Kommentare

Beliebte Posts aus diesem Blog

hackthissite.org Level 8 Basic Lösung

Hier ist ein eingabeformular in welches du deinen Namen schreiben sollst damit es eine Datei anlegen kann. Zum besseren Verständniss einfach mal testen, also "Mustermann" und auf submit klicken. Nun erscheint der Text: Your file has been saved. Please click here view the file. Hier ist die URL der Datei, welche angelegt wurde: http://www.hackthissite.org/missions/basic/8/tmp/mnxdljrz.shtml Genau, es ist eine shtml Datei also ein Server Side Include (SSI) damit kann man Befehle auf dem Server ausführen lassen und das ergebniss wird dann dem client übergeben! Hier musst du aber das Verzeichniss auslesen damit wir informationen über den Inhalt bekommen. Geb nun einfach mal folgendes in das Feld für den Namen ein: Richtig, ls bei unix/linux "list directory" zeigt den Inhalt eines Verzeichnisses an. Das neu hinzugefügte hier ist "ls ../" ../ heißt ein Verzeichniss nach oben. Also nicht in http://www.hackthissite.org/missions/basic/...

hackthissite.org Level 5 Basic Lösung

Level 5 ist fast gleich wie der Level 4 nur mit dem kleinen Unterschied dass das Skript auf dem Server nun auch schaut woher die Anfrage kommt. Es überprüft also die Referer Url. Damit wir dies umgehen können wird das Skript aus 4 nur Modifiziert. Der HTTP Anfrage wird folgende Zeile hinzugefügt: Referer:http://www.hackthissite.org/missions/basic/5/index.php\r\n So und schon ist auch dass Problem behoben! Das Skript level5.php gibts auch zum Download.

Magento - Simple Google Shopping - Add PHP code direct in XML Template

Magento - Extension "Simple Google Shopping" von wyomind Um das Template anzupassen gibt es hier auch die Möglichkeit PHP code direkt in das XML Template zu schreiben.  Dies kann hilfreich sein wenn man Felder aus Magento ändern möchte und dazu ein if Konstrukt benötigt. Hier ein Beispielhaftes Template für Simple Google Shopping mit PHP code direkt im template: Wichtig: der code muss ein "return" statement besitzen. Denn nur der Wert welcher vom PHP Block returned wird, ist nacher im google shopping XML file vorhanden.   Simple Google Shopping Extension