Guten Abend,
lerning by doing
ist in JavaScript eine noch schlechtere Idee als anderorts in der (Web-)Entwicklung. Nachhaltig schmerzfrei JavaScript schreiben wirst du allein "by doing" nicht lernen, was insbesondere der Fehlertoleranz der Sprache geschuldet ist. "Irgendwie" kriegt man jeden Quark hingebogen und steht beim nächsten Mal doch wieder vor verwandten Problemen. Lern lieber von Grund auf vernünftig.
Einen Hinweis gibts aber noch heut Abend von mir gratis: Kannst du in deinem Beispielcode auf Anhieb irgendeine Struktur erkennen?
var r=0, g=255, b=255;
function farbe(){
function gelbsenken(){
while(g>0){
g=g-1;
window.setTimeout(gelbsenken(),100);
document.getElementById('test').value=r+":"+g+":"+b;}}
function rotsteiger(){
while(r<255){
r=r+1;
window.setTimeout(rotsteiger(),100);
document.getElementById('test').value=r+":"+g+":"+b;}}
function blausenken(){
while(b>0){
b=b-1;window.setTimeout(blausenken(),100);
document.getElementById('test').value=r+":"+g+":"+b;}}
function gelbsteiger(){
while(g<255){
g=g+1;window.setTimeout(gelbsteiger(),100);
document.getElementById('test').value=r+":"+g+":"+b;}}
function rotsenken(){
while(r>0){
r=r-1;window.setTimeout(rotsenken(),100);
document.getElementById('test').value=r+":"+g+":"+b;}}
function blausteiger(){
while(b<255){
b=b+1;window.setTimeout(blausteiger(),100);
document.getElementById('test').value=r+":"+g+":"+b;}}
if(r==0 && g==255 && b==255){gelbsenken();}
if(r==0 && g==0 && b==255){rotsteiger();}
if(r==255 && g==0 && b==255){blausenken();}
if(r==255 && g==0 && b==0){gelbsteiger();}
if(r==255 && g==255 && b==0){rotsenken();}
if(r==0 && g==255 && b==0){blausteiger();}
window.setTimeout(farbe(),1);}
Ich nicht. Deshalb habe ich auch nur zwei Zeilen davon gelesen. Einrücken wäre ein guter Start, wenn du willst, dass andere Personen (oder auch nur dein übermorgiges Ich) deinen Code schmerzfrei lesen können.
-david