Lukas Böhm: Möglichkeiten von JavaScript

Beitrag lesen

Hi!
Erstmal vielen Dank für deine Antwort!

tja, dann fühle ich mich einfach mal angesprochen :-)

Das ist gut! :-)

  1. Ich denke, dass ich die Möglichkeiten auch nicht ganz erkannt habe.

1.) JavaScript ist objektorientiert. Die meisten nutzen das, ohne es zu merken, indem sie einfach nur die Eigenschaften und Methoden bestehender Objekte verwenden. Nur die wenigsten entwickeln aber eigene Objekte oder nutzen das prototype-Modell von JavaScript, um bestehende Objekt-Typen zu erweitern.

Was ist das prototype-Modell? Bei SELFHTML und bei Google kommt nichts. Hast du evtl. einen Link zu einer Seite, wo das erklärt wird?

  1. Mir fehlen die Ideen was ich machen könnte,

Schreibe eine Klasse, die sich an jedes HTML-Element bindet[1], welches über die Klasse "versuchEsEinfach" verfügt, und die dafür sorgt, dass beim Klick auf dieses Element dessen Hintergrundfarbe zwischen Rot und dem originalen Wert wechselt.

Ok. Und da könnte ich dann beliebig viele Möglichkeiten hinzufügen. Z.B. dass sich die Hintergrundfarbe verändert. Und das wäre eine dann einfache JavaScript-Bibliothek?!

Erweiterung: Erweitere das String-Objekt so, dass Du mittels
'#F00010'.isRed()
einen Boole'schen Wert erhältst, der aussagt, ob der Farbwert für Dich einen Rotton darstellt. Das Stichwort hierfür ist 'prototype'. Deine obige Klasse nutzt diese Funktion, um im Falle einer bereits roten Hintergrundfarbe mit Grün statt mit Rot zu wechseln. Wie man die tatsächliche Hintergrundfarbe eines Elements ermittelt ist genauso eine Nebenaufgabe...

var hallo = document.style.backgroundColor ?

...wie eine eventuelle Normalisierung des Wertes. Letzteres kannst Du mittels einer Color-Klasse machen.

Was ist eine Color-Klasse?

Keine Erfahrung mit OOP?

Da du JavaScript objektorientiert nennst: Doch ;-) Aber eigentlich nicht. Ich habe mich mal an PHP herangetastet, aber es sagt mir nicht so zu wie z.B. JavaScript. Deswegen habe ich es wieder gelassen.

Vielen Dank für deine ausührliche Antwort!
szia, Lukas