8. Februar 2010 - 11:23
Mein erster Versuch hier einen Artikel über Vererbung in JS zu schreiben, scheiterte an einem Punkt den ich übersehen hatte. Daher hier eine neue zweite Version. Ich werde den Artikel aber in drei Teile aufsplitten.
- Teil 1. - OOP in Javascript
- Teil 2. - MOC my Object Creator
- Teil 3. - Vergleiche und Benchmarks
[... weiterlesen]
27. Januar 2010 - 12:31
Ich frag mich warum ich diesen Artikel nicht schon viel früher geschrieben habe. Ich habe diese Probleme schon viele Male gelesen und immer wieder musste ich selbst suchen wo das Problem liegt. Ich habe also oft genug selbst mit diesen Problemen zu kämpfen gehabt und habe wertvolle Lebenszeit damit verschwendet, Bugs zu finden, die keine waren.
Deshalb habe ich hier mal die Liste der größten und am schwersten zu findesten IE Bugs beim programmieren von Javascript, zusammengestellt.
[... weiterlesen]
28. Oktober 2009 - 13:30
Vergleiche mit Javascript und ihre Merkwürdigkeiten.
Eigentlich sollte man meinen, Vergleiche wären eine klare Sache. Entweder es ist etwas identisch oder nicht. Fertig!
So einfach ist es aber leider nicht. Da in Javascript eine automatische Typkonvertierung existiert, die zumindest in einen Sonderfall zu einem merkwürdigen Ergebnis führt. Entdeckt habe ich dieses Verhalten gestern in einem längeren Thread im selfhtml Forum. Dort war die Frage aufgetaucht, warum ("0" && "1")
1 ergibt (test). Im weiteren Verlauf stellten wir fest, dass die Vergleiche sehr seltsame Ergebnisse hatten. Z.b. der folgende Code:
var str = '0';
alert(
'str==true => ' + (str == true)
+ 'n'
+ '!str==true => ' + (!str == true)
); |
var str = '0';
alert(
'str==true => ' + (str == true)
+ 'n'
+ '!str==true => ' + (!str == true)
);
Der Wert ist nicht wahr und er ist aber auch nicht unwahr. Wie kann das sein?
[... weiterlesen]
5. Juni 2009 - 18:29
Aktuell wird überall und dort, ein Video von Douglas Crockford gehyped, in dem dieser einige Aspekte von Javascript beschreibt. Der (englischsprachige) Vortrag unter dem Motto Javascript the good parts, geht tief in die Anwendung von Javascript.
Logisch! Douglas Crockford ist der Javascript Guru, insofern ist diese Aufmerksamkeit berechtigt. Aber seit gestern ist auf you tube ein weiterer hochinteressanter Javascript Vortrag im Google TechTalks Channel vorhanden. Unter dem Titel speed up your Javascript beleuchtet Nicholas C. Zakas die Interna von Javascript näher.
In dem einstündigen Vortrag erklärt Nicholas die Wirkungsweise von Javascript und wo mit diesem Wissen sich die Geschwindigkeit optimieren läßt.
[... weiterlesen]
13. Mai 2009 - 13:43
Eine der Eigenschaften von Javascript, die sie von anderen Programmiersprachen abhebt, ist die prototypische Vererbung. Kurz gesagt bedeutet das, dass jedes Objekt eine Eigenschaft .prototype
besitzt, von dem alle erzeugten Instanzen dieses Objektes erben (erben, ist nicht ganz korrekt. Es wird lediglich eine prototype chain aufgebaut, in der nach Funktionen gesucht wird. Aber das ist ein anderes Thema.).
Diese Art der Vererbung, hat Vorteile und auch Nachteile, mit denen sich etliche Artikel im Internet beschäftigen. Deshalb möchte ich hier auch gar nicht näher darauf eingehen, sondern eine Besonderheit dieser Methode zeigen, mit der es möglich ist, in Javascript vordefinierte Objekte um selbgeschriebene Funktionen zu erweitern.
Das String-Objekt bietet sich für Erweiterungen ganz besonders an, da es häufig zum Einsatz kommt und leider auch ein oft benötigte Funktionen nicht kennt.
[... weiterlesen]
29. April 2009 - 12:44
Ein kleines Javascript aus der Welt der Chemie.
Der Molmassenrechner berechnet die Molmasse einer chemischen Verbindung. Die Molmasse ist die Summe aller Element dieser Verbindung. Das Skript ermittelt dazu anhand der Formel die Anzahl der Atome und berechnet dann die gesamte Molmasse einer Verbindung.
Dabei werden alle sowohl runde Klammer, von Stoffgruppen, als auch eckicke Klammern, in Komplexverbindungen, berücksichtigt. Darüber hinaus ist auch eine Kristallwasserangabe möglich. Die Schreibweise muss der gängigen Nomenklatur entsprechen.
Syntax
Runde Klammern trennen eine Verbindungsgruppe. Eine optionale Zahl dahinter gibt an, wie häufig diese vorkommt. Kommt die Gruppe nur einmal vor, ist die Zahl überflüssig und muss nicht angegeben werden.
Eckige Klammern, für eine Komplexverbindung sind ebenfalls möglich. Innerhalb dieser können auch runde Klammern verwendet werden.
Mehrfach verschachtelte Klammern können in dieser Version nicht berechnet werden. Das Skript rechnet aber einfacher und exakter, als z.b. die auf Wikipedia verlinkten Molmassenrechner.
[... weiterlesen]
30. März 2009 - 13:45
Ich hatte in der Vergangenheit ja schon einmal ein Skript vorgestellt, mit dessen Hilfe es möglich ist BB-Code in eine Textarea einzufügen. Um es einsetzen zu können, werden entsprechende Buttons benötigt, die z.b. oberhalb einer Textarea angezeigt werden und mit denen dann der Text entsprechend formatiert wird. Dazu habe ich das Skript erweitert und verbessert, so dass sich automatisch und leicht konfigurierbar, über eine Textarea, JS Buttons einfügen lassen.
Ich nutze den Code als Basis für Greasemonkey-Skripte, für einige Foren, die keine entsprechenden Buttons anbieten (z.b. das Forum auf Perlunity)
Das Skript ist relativ kompakt (knapp über 100 Zeilen mit Kommentaren) und funktioniert bei meinen Tests unter Windows XP, in allen gängigen Browser.
[... weiterlesen]
9. März 2009 - 15:33
Oft entfachen sich hitzige Diskussionen in Foren darüber, welche Funktion für einen Zweck geeigneter und/oder schneller ist. Dann muss ein Benchmark her, mit dem die Geschwindigkeit der unterschiedlichen Funktionen verglichen werden kann. Als langjähriger Perl Programmierer benutze ich häufig das Modul Benchmark mit dem sich das relativ leicht realisieren läßt. Ich habe ein Javascript geschrieben, das ähnlich arbeitet und hier vorstellen möchte.
[... weiterlesen]
12. Februar 2009 - 13:22
Es gibt eine neue Version.10.2.2013
Seit dem 18.11.2011 ist eine komplett neue Version dieses Skripts online. Einige Befehle haben sich daher geändert
Im selfhtml Forum hatte jemand nach einer LED Anzeige mit Javascript gefragt. Da ich das eine Interessante Idee fand, machte mich auf die Suche ob es so was schon im Netz zu finden gibt. Ich fand aber nur Flash Skripte oder Javascripte, die mich aber nicht überzeugten. Davon inspiriert habe ich dann selbst ein kleines LED Laufschrift oder LED Scroller Skript geschrieben.
[... weiterlesen]
24. Januar 2009 - 14:21
Ich habe das Rubberband überarbeitet und hier ein Beispiel, wie aus einem vorhandenen Bild damit ein Ausschnitt markiert werden kann. Das Rubber-Objekt ist nach Außen weitestgehend gleich geblieben,
intern sind aber neue Dinge hinzugekommen. Eine Funktion createBox()
, erzeugt das
DIV das für das Rubberband gebraucht wird, mit der entsprechenden Funktionalität und die Klasse Rect()
bietet Methoden an, um Berechnungen mit dem Rechteck durch zu führen
[... weiterlesen]