Mathias Brodala: Hilfe bei Javascript für Berrechnung der Ziffernsumme...

Beitrag lesen

Hallo Christoph.

Kann mir jemand sagen was an dem Code verändert werden muß, damit ich
nicht mehr die Meldung "i1 ist undefiniert" bekomme?

(i1 BEDEUTET ieins!!!!!!!!!!!!!!!!!!!)

Verstehe!!!!!!!111einself

var Eingabe = window.prompt("Geben Sie die Zahl ein, von der Sie die Ziffernsumme benötigen.","");

var i = Eingabe;

  
Wozu diese unnötige Umspeicherung des Rückabewertes von prompt()?  
  

> ~~~javascript

function Ziffernumwandlung() {  

> if(i == 0){

Hier greifst du auf die globale Variable „i“ zurück, da es lokal keine gibt. Das zeugt nicht sonderlich von gutem Stil.

Besser wäre es, wenn du „Eingabe“ an „Ziffernumwandlung“ übergeben würdest:

var Eingabe = window.prompt("Geben Sie die Zahl ein, von der Sie die Ziffernsumme benötigen.","");  
  
Ziffernumwandlung(Eingabe);

Im übrigen kann besagter Rückgabewert auch „undefined“ sein, wenn z. B. „Abbrechen“ gewählt wurde. Darauf solltest du reagieren.

var a=("+i+"/1000);

var b=(("+i+"-"+a+")/100);
var c=(("+i+"-"+b+")/10);
var d=(("+i+"-"+c+")/1);

  
Hiermit erzeugst du vier \*lokale\* Variablen. Nach Abarbeitung der Funktion (welche du im Übrigen niemals aufrufst) verfallen diese und werden entsorgt. Sie sind entgegen deiner Erwartung nicht von Außen erreichbar.  
  
Im Übrigen würdest du hier zwei Zeichenketten voneinander subtrahieren, was nicht möglich ist.  
  

> function Ziffernsumme() {  
> var i1 = (("+a+")+("+b+")+("+c+")+("+d+"));  
> }  
  
Hier solltest du zumindest „i1“ oder besser gleich den Ausdruck zurückgeben.  
  

> alert("Die Ziffernsumme von "+Eingabe+" ist "+Ziffernsumme(i1));  
  
Und wie meinst du „i1“ an Ziffernsumme() übergeben zu können, wenn die Variable nur darin existiert?  
  
Ich denke, du solltest dich noch einmal mit den Grundlagen von JavaScript befassen. Und vor allem solltest du \*in Worten\* beschreiben was du vorhast, bevor du auch nur eine einzige Zeile Code schreibst.  
  
  
Einen schönen Freitag noch.  
  
Gruß, Mathias  

-- 
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)  
  
debian/rules