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 6 Basic Lösung

Im Level 6 geht es um eine kleine Decheffrierung. Also du siehst hier ein Verschlüsseltes Passwort und sollt dieses Entschlüsseln damit du es eingeben kannst und somit einen level weiter kommst. Du hast hier eine Hilfe, denn du kannst mit dem oberen Formular selbst daten verschlüsseln. Somit kannst du ein Muster erkennen wenn du zum Beispiel hallo oder auch tasse verschlüsseln lässt. Wenn du nun ollah oder essat verschlüsseln lässt dann fällt etwas auf oder?? Die Erklärung: hallo wird zu hbnos tasse wird zu tbuvi essat wird zu etudx Die cheffrierung funktioniert folgend: Du solltest zum verständniss eine ASCII Tabelle heranziehen! Formel: Verschlüsseltes Zeichen = (Position in String) + (Aktuelles Zeichen, ASCII Code) Somit ist auch klar warum das erste Zeichen sich nie verändert. Da es mit 0 anfängt zu Zählen. h = 0 ( +0) Bleibt gleich. a = 1 ( +1) l = 2 ( +2) l = 3 ( +3) 0 = 4 ( +4) Hier die Decheffrierung des Verschlüsselten Textes: ...

Linearen Notenschlüssel mit nodejs berechnen

Linearen Notenschlüssel berechnen / Method chaining in nodejs Hintergrund/Motivation: Ein kleines altes Nebenprojekt von mir war eine Schüler/Notenverwaltung Software in Java geschrieben. Das kleine Programm ist etwas in die Jahre gekommen und da wollte ich kleine teile von der Software nach nodejs portieren und es etwas auffrischen. Und zum start habe ich die Berechnung der Noten nach einem Linearen Notenschlüssel portiert. Also die dahinter liegende Klasse. Kurze Beschreibung der Eigenschaften der Klasse: Die Klasse soll die Berechnung anhand der Maximalen zu erreichenden Punkzahl und der erreichten Punkzahl des Schülers berechnen. Es gibt folgende Attribute: defaultPoints => fallback falls maxPoints nicht gesetzt wird maxPoints => Maximal zu erreichende Punkte im Test/Arbeit reachedPonts => Erreichte Punktzahl des Schülers Darüber hinaus sollen die setter der Klasse via   Method chaining  einfacher und kürzer aufrufbar sein, hierzu ein kleiner Pse...

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